[英]how to add the worksheet object in openpyxl to the new sheet of the existing xlsx document
我做了很多研究并未能解决这个问题,所以我来这里寻求帮助。 我从下面的文件中读取了工作表对象,
sheet_2_workbook = openpyxl. load_workbook(sheet_2_path)
sheet_2 = sheet_2_workbook.worksheets\[0\]
如题所述,我想将其添加到existing.xlsx文件的new sheet中,应该怎么办?
我尝试如下实现,但是通过这种方法获得的新文档会丢失一些原始格式,包括单元格背景颜色和合并单元格
old_wb = openpyxl. load_workbook(file_list[i])
old_sheet_name = old_wb. get_sheet_names()[0]
old_ws = old_wb[old_sheet_name]
ws2 = combined_wb.create_sheet(sheet_name)
for row in old_ws.values:
ws2.append(row)
我确定文件中读取的工作表对象包含这些格式,因为我用以下代码转储的 .xlsx 文档具有上述格式
sheet_2_workbook. save(filename = temp_save_path)
我最初的想法,不是这方面的专家;
我将如何使用 openpyxl 完成将工作表对象添加到现有 Excel 文档中的新工作表的任务:
导入 openpyxl 模块
使用 load_workbook() 函数加载现有的 Excel 文档
使用 Workbook 对象的 create_sheet() 方法创建一个新工作表
或者,您可以在调用 create_sheet() 方法时将新工作表的名称指定为字符串
使用 save() 方法保存更改(要保留格式,您可以使用 copy_worksheet() 创建原始工作表的副本并将其添加到工作簿。
导入 openpyxl
workbook = openpyxl.load_workbook('existing_document.xlsx')
sheet_2_workbook = openpyxl.load_workbook(sheet_2_path) sheet_2 = sheet_2_workbook.worksheets[0]
new_sheet = workbook.copy_worksheet(sheet_2) // 或者,您可以将新工作表的名称指定为字符串 // new_sheet = workbook.copy_worksheet(sheet_2, 'Sheet2')
workbook.save('existing_document.xlsx')
(Stack 的新手,所以格式化技巧不是最好的)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.