|
gpt给了一个脚本:
import os
import xlwings as xw
# 获取当前文件夹路径
folder_path = os.getcwd()
new_wb = xw.Book()
# 遍历当前文件夹中的 Excel 文件
for filename in os.listdir(folder_path):
if filename.endswith(('.xls', '.xlsx')) and not filename.startswith('~$'):
file_path = os.path.join(folder_path, filename)
try:
wb = xw.Book(file_path)
for sheet in wb.sheets:
# 复制工作表到新工作簿
sheet.copy(after=new_wb.sheets[-1])
wb.close()
except Exception as e:
print(f"处理文件 {filename} 时出错: {e}")
# 删除新工作簿的默认工作表(如果复制了其他工作表)
if len(new_wb.sheets) > 1: # 如果合并后有多个表,则可以删除默认的 Sheet1
new_wb.sheets[0].delete()
# 保存合并后的工作簿
merged_file_path = os.path.join(folder_path, '合并后的工作簿.xlsx')
new_wb.save(merged_file_path)
new_wb.close()
print(f"合并完成!文件保存为:{merged_file_path}")
但是用了这个脚本,虽然字体字号、行高和原来一样,列宽却和原来的工作表不同,而且就算把列宽调到原工作表一样的数值,视角上效果也不一样。有没有什么办法能达到excel里通过对工作表“移动或复制-创建副本”来把一个工作表复制到另一个工作簿,这样新表和原表完全一模一样的效果。
|
|