python实现excel对比及将excel整理到doc文档中

11次阅读

共计 977 个字符,预计需要花费 3 分钟才能阅读完成。

最近遇到一个需求。

1. 需要对比两个 excel 文档,将对比结果输出

2. 将其中一个表格中内容整理后输出到 word 中

手工实现这些需求也是可以的,但是如果 excel 中行数比较多,那么就比较繁琐了。所以我们想到用 python 实现。

如下代码所示:

import openpyxl
from docx import Document
from docx.shared import Inches

document = Document()

document.add_heading('审计日志描述汇总', 0)
# 打开 excel 文件, 获取工作簿对象
# oldExcel = openpyxl.load_workbook('old.xlsx')
newExcel=openpyxl.load_workbook('new.xlsx')
newSheet = newExcel.active
new_sjrz_dic={}
# old_sjrz_dict={}
for row in newSheet.rows:
    if len(row)>1:
        new_sjrz_dic[row[1].value]=row[0].value
        title=row[1].value
        try:
            document.add_heading(title[:title.index('[')], level=2)
            document.add_paragraph('中文描述', style='List Bullet')
            document.add_paragraph(row[1].value)
            document.add_paragraph('英文描述', style='List Bullet')
            document.add_paragraph(row[0].value)
        except :
            pass
        
           
        
            
# print(newSheet['B2'].value)
# 获取指定的 sheet
# sheet3 = oldExcel['审计日志']
# for row in sheet3.rows:
#     if len(row)>1:
#         old_sjrz_dict[row[6].value]=row[8].value
# 比较两个表单中差异 并将差异输出
# for k,v in new_sjrz_dic.items():
#     if k not in old_sjrz_dict:
#         print(k+' '+v)
document.save('审计日志描述汇总.docx')
正文完
 0