標籤:range 開始 order keyword names env sys comment value
- #coding=utf-8
- #/usr/bin/env python
- import xlsxwriter,xlrd
- import sys,os.path
- fname = ‘zm6.xlsx‘
- if not os.path.isfile(fname):
- print u‘檔案路徑不存在‘
- sys.exit()
- data = xlrd.open_workbook(fname) # 開啟fname檔案
- data.sheet_names() # 擷取xls檔案中所有sheet的名稱
- table = data.sheet_by_index(0) # 通過索引擷取xls檔案第0個sheet
- nrows = table.nrows # 擷取table工作表總行數
- ncols = table.ncols # 擷取table工作表總列數
- workbook = xlsxwriter.Workbook(‘zm6.xlsx‘) #建立一個excel檔案
- worksheet = workbook.add_worksheet() #建立一個工作表對象
- worksheet.set_column(0,ncols,22) #設定列的寬度為22像素
- #border:邊框,align:對齊,bg_color:背景顏色,font_size:字型大小,bold:字型加粗
- top = workbook.add_format({‘border‘:1,‘align‘:‘center‘,‘bg_color‘:‘cccccc‘,‘font_size‘:13,‘bold‘:True})
- green = workbook.add_format({‘border‘:1,‘align‘:‘center‘,‘bg_color‘:‘green‘,‘font_size‘:12})
- yellow = workbook.add_format({‘border‘:1,‘bg_color‘:‘yellow‘,‘font_size‘:12})
- red = workbook.add_format({‘border‘:1,‘align‘:‘center‘,‘bg_color‘:‘red‘,‘font_size‘:12})
- blank = workbook.add_format({‘border‘:1})
- for i in xrange(nrows):
- worksheet.set_row(i,22) #設定第i行儲存格屬性,高度為22像素,行索引從0開始
- for j in xrange(ncols):
- cell_value = table.cell_value(i,j,) #擷取第i行中第j列的值
- if i == 0:
- format = top
- elif i == 3 or i == 6:
- format = blank
- else:
- if j == 0 or j == 2:
- format = yellow
- elif j == 1:
- format = red
- elif j == 3:
- format = green
- green.set_num_format(‘yyyy-mm-dd‘) #設定時間格式
- worksheet.write(i,j,cell_value,format) #把擷取到的值寫入檔案對應的行列
- format.set_align(‘vcenter‘) #設定儲存格垂直對齊
- workbook.close()
python調用xlrd&xlsxwirter