今天做的个报告里需要比较几十个项目的概算执行情况,报告有一段内容的格式如下
(一)A工程:概算费用为xxx万元,实际投资金额为xxx万元,已执行完预算内全部项目,比概算节约xxx万元。
(二)B工程:概算费用为xxx万元,实际投资金额为xxx万元,已执行完预算内全部项目,比概算节约0.01万元。
(三)C工程:概算费用xxx为xxx万元,实际投资金额为xxx万元,已执行完预算内全部项目,比概算节约xxx万元。
(四)D项目:概算费用为xxx万元,实际投资金额为xxx万元,已执行完预算内全部项目,比概算多xxx万元。
......
几十行都是这玩意,一个一个从excel里复制粘贴,真叫受罪。
于是乎做了个小脚本,可以一劳永逸。
建立一个excel文件,下设三个sheet,分别为“设置”、“模板”、“待转”
![6a084e3c09cfbb6dc73d66f9f1bcd10e.png](https://img-blog.csdnimg.cn/img_convert/6a084e3c09cfbb6dc73d66f9f1bcd10e.png)
设置
“设置”中主要设置生成一段一段的内容是否要加上序号,可以通过下拉框选择,选择好序号样式,“C2”单元格会获取对应的serial_type变量。脚本中就可以根据此变量来设置需要生成的内容。
![9088c28ef00cb555f5d44213fbea5078.png](https://img-blog.csdnimg.cn/img_convert/9088c28ef00cb555f5d44213fbea5078.png)
模板
“模板”中将需要生成的内容分别标记为变量和常量,如果是变量的话到“待转”sheet中相应的列中取数。
![f99d12c092c9af09c27be5984d3e85f8.png](https://img-blog.csdnimg.cn/img_convert/f99d12c092c9af09c27be5984d3e85f8.png)
待转
“待转"就是想要转到word数据中的表格。
下面直接上代码。吐槽一下,头条的代码显示还是一如既往的烂啊。。。。把缩进都改成两个空格了
import xlwings as xwfrom docx import Documentdoc =Document()INT_HANZ={1:"一