可以改变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工作表可能在一些简单的情况下工作,但对于更复杂的工作簿可能会导致问题。