繁体   English   中英

如何将openpyxl中的工作表对象添加到现有xlsx文档的新工作表中

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM