python处理Excel文档-单元格

2490阅读 0评论2017-12-24 centrify
分类:系统运维


Excel 中每一个单元,都有如下属性:字体(fonts)、颜色(colors)、模式(patterns)、边界(borders)、alignmentnumber formatting 


format = workbook.add_format()      #创建自定义格式对象   (格式如下)

format.set_border(1)                #设定边界宽度为1

format.set_bg_color(#cccccc)     #设置背景颜色为#ccccccc

format.set_align(center)         #设置对齐方式为 剧中

format.set_bold()                  #设置为粗体

format.set_num_format(0.00)     #设置数字格式为保留两个小数

  1. format = workbook.add_format()

  2. #用对象接口设置格式属性
  3. format.set_bold()
  4. format.set_font_color('red')

  5. #用字典设置格式属性
  6. property = {
  7.     'bold': True,
  8.     'font_color': 'red'
  9. }
  10. format = workbook.add_format(property)
xlsxwriter 格式处理,将待添加数据转换成相应的格式,添加到 xlsx 文件中
  1. #!/usr/bin/python
  2. #coding: utf-8

  3. from datetime import datetime
  4. import xlsxwriter

  5. workbook = xlsxwriter.Workbook('Expenses02.xlsx')
  6. worksheet = workbook.add_worksheet()

  7. #设定格式,等号左边格式名称自定义,字典中格式为指定选项
  8. #bold:加粗,num_format:数字格式
  9. bold_format = workbook.add_format({'bold':True})
  10. money_format = workbook.add_format({'num_format':'$#,##0'})
  11. date_format =workbook.add_format({'num_format':'mmmm d yyyy'})

  12. #将二行二列设置宽度为15(从0开始)
  13. worksheet.set_column(1, 1, 15)

  14. #用符号标记位置,例如:A列1行
  15. worksheet.write('A1', 'Item', bold_format)
  16. worksheet.write('B1', 'Cost', bold_format)
  17. worksheet.write('C1', 'Cost', bold_format)

  18. expenses = (
  19.     ['Rent', '2016-03-11', 1000],
  20.     ['Gad', '2016-03-12', 100],
  21.     ['Food', '2016-03-13', 400],
  22.     ['Gym', '2016-03-14', 50],
  23. )

  24. row = 1
  25. col = 0

  26. for item, date_str, cost in (expenses):
  27.     #将数据格式转化为Python datetime.datetime 格式
  28.     #之后用write_datetime方法录入日期格式
  29.     date = datetime.strptime(date_str, "%Y-%m-%d")

  30.     #使用write_string方法,指定数据格式写入数据
  31.     worksheet.write_string(row, col, item)
  32.     worksheet.write_datetime(row, col + 1, date, date_format)
  33.     worksheet.write_number(row, col + 2, cost, money_format)
  34.     row += 1

  35. worksheet.write(row, 0, 'Total', bold_format)
  36. worksheet.write(row, 1, '=SUM(B2:B5)', money_format)

  37. workbook.close()


上一篇:批处理注释
下一篇:ubuntu17.04安装DB2 11.1 Express-c