本节利用xlwings对比两个excel并高亮显示修改部分,最终效果如图:

在两个文件中都高亮显示不同的区域,便于对比修改痕迹。
在这里插入图片描述

关于xlwings注意事项
  • xlwings需要安装excel应用软件,支持.xls和.xlsx
  • openpyxl不需要安装excel应用软件

首先要pip安装xlwings,再导入模块:

import xlwings as xw
关于 xlwings -> App -> Book -> Sheet -> Range
  • App:可以理解为Excel应用程序,或者可理解做一个处理Excel的进程
  • Book:可理解为一个Excel表
  • Sheet:可理解为一个Excel内的工作表Sheet
  • Range:可理解为一个单元格。sheet.range()就可以获取一个cell。
① 打开一个操作Excel的进程
  • visible:进程是否显示在前台。False即后台运行,True会在前台有显示。
  • add_book:是否新建Excel表。
app = xw.App(visible=False, add_book=False)
② 导入Excel文件
book1 = app.books.open("../test3/data1.xlsx")
book2 = app.books.open("../test3/data1_2.xlsx")
③ 对比高亮
for row in book2.sheets[0].range("A1").expand():
    for cell2 in row:
        cell1 = book1.sheets[0].range(cell2.address)
        if cell2.value != cell1.value:
            cell2.color = cell1.color = (255, 0, 0)
④ 保存退出并kill进程
book1.save()
book1.close()
book2.save()
book2.close()

app.kill()

按照以上步骤,即可得到想要的对比高亮效果。

Logo

永洪科技,致力于打造全球领先的数据技术厂商,具备从数据应用方案咨询、BI、AIGC智能分析、数字孪生、数据资产、数据治理、数据实施的端到端大数据价值服务能力。

更多推荐