簡體   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