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

时间:2019-04-04 08:42:28

标签: python excel xlsxwriter

我编写了一个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显然可以通过某种方式存储此信息。

1 个答案:

答案 0 :(得分:2)

您需要将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()

输出:

enter image description here