使用openpylx库读取EXCEL文件,文件中包含150个字段,800行数据,公式及多张工作表,文件大小17M左右,对文件经行操作处理后保存。
代码可以完整运行,但最后文件保存出现错误,文件大小由17M变成4M左右了
另求问wb.close()由什么用,百度资料解释为释放资源,可以理解为释放占用的内存资源嘛?
from openpyxl import load_workbook
import copy
wb_gongzi_files = load_workbook(data_gongzibiao_files)
wb_gongzi_files_temp = load_workbook(gongzibiao_files_temp)
sheet1 = wb_gongzi_files_temp[wb_gongzi_files_temp.sheetnames[0]]
x1 = sheet1.max_row
Font = copy.copy(sheet1.cell(2, 143).font)
Border = copy.copy(sheet1.cell(2, 143).border)
Alignment = copy.copy(sheet1.cell(2, 143).alignment)
sheet2 = wb_gongzi_files['工资表']
x2 = sheet2.max_row
for rows1 in sheet1.iter_rows(min_row=2, max_row=x1, min_col=4, max_col=4):
for i in rows1:
for rows2 in sheet2.iter_rows(min_row=2, max_row=x2, min_col=4, max_col=4):
for j in rows2:
if j.value == i.value:
sheet2.cell(row=j.row, column=144).value = sheet1.cell(row=i.row, column=143).value
sheet2.cell(row=i.row, column=144).font = Font
sheet2.cell(row=i.row, column=144).border = Border
sheet2.cell(row=i.row, column=144).alignment = Alignment
wb_gongzi_files.save(data_gongzibiao_files)