如何在最大化外部组时隐藏内部轮廓组

How to keep inner outline groups hidden when maximizing outer group

我写了一个 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()

这会在 'hidden' 状态下生成两个组。当我最大化第一组时,第二组(内部)也会最大化。

当外部组最大化时,如何防止内部组最大化?

据我所知,执行此操作的唯一方法是手动最大化组,然后最小化内部组,然后最小化外部组。保存、关闭和重新打开时,在最大化外部组时,组不会同时最大化。所以 Excel 显然有办法以某种方式存储这些信息。

您需要将 collapsed 属性 设置在正确的级别。见 Working with Outlines and Grouping XlsxWriter 文档部分。

这是一个工作示例:

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()

输出: