闲着没事练练python 对excel操作
水水专栏完成个任务
需求,如图:

输入单价和数量后自动生成总额和总额大写
原理:
1、xlwt.Workbook('')新建excel工作簿
2、xlwt.add_sheet('')新建sheet
3、sheet对象的write()方法提供在单元格输入功能
4、sheet对象的write_merge()方法提供合并并输入
注意参数为(合并起始行 ,合并结束行,合并起始列,合并结束列,输入内容,单元格风格)
5、sheet对象的merge方法提供合并方法,参数与write_merge相同
6、输入excel内置函数,xlwt提供了Formula()方法,用来解析内置方法,注意,Formula()中填入的函数语句不包括等号,目前存在的问题是部分函数不能解析,解析时报错“unknown”主要问题是excel使用的函数中有一部分是”隐藏函数“,即没有函数提示,但输入该函数可以得到预期结果。新版本excel中已经将NUMBERSTRING加入函数列表中,可能由于xlwt太老导致没有更新函数库无法解析,下一步尝试使用其他例如Openpyxl库编辑xlsx文件。
实验过程:
1、新建excel工作簿,添加sheet
2、分别设计标题文本,正文文本,数字三种字体格式
2.1单元格格式对象为xlwt.XFStuyle()
2.2字体为xlwt.Font()对象
2.3单元格对其方式为xlwt.Alignment()对象
2.4单元格边跨给是xlwt.Borders()对象
2.5配置单元格样式
将每个对象的属性配置好后,将刚才编辑的对象赋予Style对象中的几个成员变量,在write、write_merge方法中就可以在写入内容后加入style参数改变写入的格式
3、设置列宽
在sheet实例对象中有.col()方法获取列,列实例对象有.width成员变量,记录该列列宽。python中的列宽是excel中列宽数值上的256倍
代码:

多用for i in range循环,目前除了NUMBERSTRING方法别的都实现了,NUMBERSTRING方法是用来将提取的各个位的数字转换成中文大写数字,但这个函数是excel隐藏函数,在xlwt中无法解析该函数,目前没有好办法解决这个问题,有大佬可以在评论区讨论讨论