1需求:
两个xlsx(xls自动另存为xlsx)对比,查找编号相同的行,并将两个表的相同行链接存到新表格中。
2实现:
openpyxl模块载入指定列(win32ui库选择xlsx文件,win32api+win32com库弹出提示框,载入xlsx文件,读取指定列数据),两个表格指定列循环对比(嵌套for语句,对比两个列表内数据),找到后记录并复制表格整行(循环保存行数据到新列表),对两个表的行连接(列表+操作),保存到新表格中(time库保存文件名带时间),结果表自动打开。py生成exe文件(pyinstaller库操作,pyinstaller -F -w *.py)
3代码:
import openpyxl
import time
import win32ui,win32api,win32con
import xlwings as xw
import os
# 使用xlwings另存xls为xlsx
def s2x1(file_path):
app = xw.App(visible=True, add_book=False)
example = app.books.open(file_path)
example.save(f"{file_path}x")
example.close()
app.quit()
# os.remove(file_path)
return(file_path+'x')