首页 > 代码库 > python调用xlrd&xlsxwirter

python调用xlrd&xlsxwirter

  1. #coding=utf-8
  2. #/usr/bin/env python
  3. import xlsxwriter,xlrd
  4. import sys,os.path
  5. fname = ‘zm6.xlsx‘
  6. if not os.path.isfile(fname):
  7.     print u‘文件路径不存在‘
  8.     sys.exit()
  9. data = xlrd.open_workbook(fname)            # 打开fname文件
  10. data.sheet_names()                          # 获取xls文件中所有sheet的名称
  11. table = data.sheet_by_index(0)              # 通过索引获取xls文件第0个sheet
  12. nrows = table.nrows                         # 获取table工作表总行数
  13. ncols = table.ncols                         # 获取table工作表总列数
  14. workbook = xlsxwriter.Workbook(‘zm6.xlsx‘)  #创建一个excel文件
  15. worksheet = workbook.add_worksheet()        #创建一个工作表对象
  16. worksheet.set_column(0,ncols,22)            #设定列的宽度为22像素
  17. #border:边框,align:对齐方式,bg_color:背景颜色,font_size:字体大小,bold:字体加粗
  18. top = workbook.add_format({‘border‘:1,‘align‘:‘center‘,‘bg_color‘:‘cccccc‘,‘font_size‘:13,‘bold‘:True})
  19. green = workbook.add_format({‘border‘:1,‘align‘:‘center‘,‘bg_color‘:‘green‘,‘font_size‘:12})
  20. yellow = workbook.add_format({‘border‘:1,‘bg_color‘:‘yellow‘,‘font_size‘:12})
  21. red = workbook.add_format({‘border‘:1,‘align‘:‘center‘,‘bg_color‘:‘red‘,‘font_size‘:12})
  22. blank = workbook.add_format({‘border‘:1})
  23. for i in xrange(nrows):
  24.     worksheet.set_row(i,22)                 #设定第i行单元格属性,高度为22像素,行索引从0开始
  25.     for j in  xrange(ncols):
  26.         cell_value = table.cell_value(i,j,) #获取第i行中第j列的值
  27.         if i == 0:
  28.             format = top
  29.         elif i == 3 or i == 6:
  30.             format = blank
  31.         else:
  32.             if j == 0 or j == 2:
  33.                 format = yellow
  34.             elif j == 1:
  35.                 format = red
  36.             elif j == 3:
  37.                 format = green
  38.                 green.set_num_format(‘yyyy-mm-dd‘)  #设置时间格式
  39.         worksheet.write(i,j,cell_value,format)      #把获取到的值写入文件对应的行列
  40.         format.set_align(‘vcenter‘)                 #设置单元格垂直对齐
  41. workbook.close()

python调用xlrd&xlsxwirter