我编写了一个python脚本,它通过XlsxWriter Outlines and Grouping功能对Excel文件的行进行分组。
我的文件有两组,一组嵌套在另一组中。这是一个最小的例子:
import xlsxwriter
workbook = xlsxwriter.Workbook('outline.xlsx')
worksheet = workbook.add_worksheet()
worksheet.set_row(1, None, None, {'level': 1, 'hidden': True})
worksheet.set_row(2, None, None, {'level': 2, 'hidden': True})
worksheet.set_row(3, None, None, {'level': 2, 'hidden': True})
worksheet.set_row(4, None, None, {'level': 1, 'hidden': True})
workbook.close()
这会生成处于“隐藏”状态的两个组。当我最大化第一组时,第二组(内部)组也最大化。
当外部组最大化时,如何防止内部组最大化?
我知道,实现这一目标的唯一方法是最大化组,然后手动最小化内部组和外组。保存,关闭和重新打开时,组最大化外部组时不会最大化。所以Excel显然有办法以某种方式存储这些信息。
您需要将collapsed
属性设置在正确的级别。请参阅XlsxWriter文档的Working with Outlines and Grouping部分。
这是一个工作示例:
import xlsxwriter
workbook = xlsxwriter.Workbook('outline.xlsx')
worksheet = workbook.add_worksheet()
worksheet.set_row(1, None, None, {'level': 1, 'hidden': True})
worksheet.set_row(2, None, None, {'level': 2, 'hidden': True})
worksheet.set_row(3, None, None, {'level': 2, 'hidden': True})
worksheet.set_row(4, None, None, {'level': 1, 'hidden': True, 'collapsed': True})
workbook.close()
输出: