可以改变xlsxwriter的工作表顺序?

我有一个脚本,按顺序创build了以下几对工作表:

WorkSheet (holds data) -> ChartSheet using WorkSheet 

脚本完成后,我剩下的工作表sorting如下:

 Data1, Chart1, Data2, Chart2, Data3, Chart3, ... 

是否有可能在脚本的末尾(即workbook.close()之前workbook.close()重新sorting工作表以获取最终的.xlsx文件中的以下工作表顺序?

 Chart1, Chart2, Chart3,...,ChartN, Data1, Data2, Data3,... 

只需要对workbook.worksheets_objs列表进行sorting:

 import xlsxwriter workbook = xlsxwriter.Workbook('test.xlsx') sheet_names = ['Data1', 'Chart1', 'Data2', 'Chart2', 'Data3', 'Chart3'] for sheet_name in sheet_names: workbook.add_worksheet(sheet_name) # sort sheets based on name workbook.worksheets_objs.sort(key=lambda x: x.name) workbook.close() 

这是可能的,但不build议。

每个工作表都有一个由Excel用来跟踪不同工作簿对象之间关系的内部索引。

sorting工作表可能在一些简单的情况下工作,但对于更复杂的工作簿可能会导致问题。