XlsxWriter:创build新的工作表

我正在尝试使用XlsxWriter创build新的工作表,以便每循环一次新的迭代将数据写入新工作表。

我有的代码如下:

workbook = xlsxwriter.Workbook('Report.xlsx') for i in range(0, len(list)): worksheet = workbook.add_worksheet() #Extract data from the list and add it to the excel sheet workbook.close() 

现在,这种方法的问题是,我只看到一个工作表,而不是多张表。

我哪里错了?

根据评论的更正,尽pipeXlsxWriter API允许在修改之间closures工作簿,但它只会写入更改直到第一次closures。

 import xlsxwriter import openpyxl workbook = xlsxwriter.Workbook('test.xlsx') for i in range(10): workbook.add_worksheet() workbook.close() assert len(workbook.worksheets()) == 10 assert len(openpyxl.load_workbook('test.xlsx').sheetnames) == 1 workbook = xlsxwriter.Workbook('test.xlsx') for i in range(10): workbook.add_worksheet() workbook.close() assert len(workbook.worksheets()) == 10 assert len(openpyxl.load_workbook('test.xlsx').sheetnames) == 10 

在所有工作簿修改之后,您需要将workbook.close()移出循环:

 workbook = xlsxwriter.Workbook('Report.xlsx') for i in range(0, len(list)): worksheet = workbook.add_worksheet() #Extract data from the list and add it to the excel sheet workbook.close()