閑著沒(méi)事練練python 對(duì)excel操作
水水專欄完成個(gè)任務(wù)
需求,如圖:

輸入單價(jià)和數(shù)量后自動(dòng)生成總額和總額大寫
原理:
1、xlwt.Workbook('')新建excel工作簿
2、xlwt.add_sheet('')新建sheet
3、sheet對(duì)象的write()方法提供在單元格輸入功能
4、sheet對(duì)象的write_merge()方法提供合并并輸入
注意參數(shù)為(合并起始行 ,合并結(jié)束行,合并起始列,合并結(jié)束列,輸入內(nèi)容,單元格風(fēng)格)
5、sheet對(duì)象的merge方法提供合并方法,參數(shù)與write_merge相同
6、輸入excel內(nèi)置函數(shù),xlwt提供了Formula()方法,用來(lái)解析內(nèi)置方法,注意,F(xiàn)ormula()中填入的函數(shù)語(yǔ)句不包括等號(hào),目前存在的問(wèn)題是部分函數(shù)不能解析,解析時(shí)報(bào)錯(cuò)“unknown”主要問(wèn)題是excel使用的函數(shù)中有一部分是”隱藏函數(shù)“,即沒(méi)有函數(shù)提示,但輸入該函數(shù)可以得到預(yù)期結(jié)果。新版本excel中已經(jīng)將NUMBERSTRING加入函數(shù)列表中,可能由于xlwt太老導(dǎo)致沒(méi)有更新函數(shù)庫(kù)無(wú)法解析,下一步嘗試使用其他例如Openpyxl庫(kù)編輯xlsx文件。
實(shí)驗(yàn)過(guò)程:
1、新建excel工作簿,添加sheet
2、分別設(shè)計(jì)標(biāo)題文本,正文文本,數(shù)字三種字體格式
2.1單元格格式對(duì)象為xlwt.XFStuyle()
2.2字體為xlwt.Font()對(duì)象
2.3單元格對(duì)其方式為xlwt.Alignment()對(duì)象
2.4單元格邊跨給是xlwt.Borders()對(duì)象
2.5配置單元格樣式
將每個(gè)對(duì)象的屬性配置好后,將剛才編輯的對(duì)象賦予Style對(duì)象中的幾個(gè)成員變量,在write、write_merge方法中就可以在寫入內(nèi)容后加入style參數(shù)改變寫入的格式
3、設(shè)置列寬
在sheet實(shí)例對(duì)象中有.col()方法獲取列,列實(shí)例對(duì)象有.width成員變量,記錄該列列寬。python中的列寬是excel中列寬數(shù)值上的256倍
代碼:

多用for i in range循環(huán),目前除了NUMBERSTRING方法別的都實(shí)現(xiàn)了,NUMBERSTRING方法是用來(lái)將提取的各個(gè)位的數(shù)字轉(zhuǎn)換成中文大寫數(shù)字,但這個(gè)函數(shù)是excel隱藏函數(shù),在xlwt中無(wú)法解析該函數(shù),目前沒(méi)有好辦法解決這個(gè)問(wèn)題,有大佬可以在評(píng)論區(qū)討論討論