有没有办法折叠多行使用openpyxl
?似乎没有与openpyxl简单用法页面上的示例等效的行.
import openpyxl
wb = openpyxl.Workbook(True)
ws = wb.create_sheet()
ws.column_dimensions.group('A','D', hidden=True)
wb.save('group.xlsx')
Run Code Online (Sandbox Code Playgroud)
不,没有等价物但行更容易处理,因为它们总是存在,ColumnDimensions
是按需创建的.只需设置要隐藏的行.
例如.隐藏第5到9行:
for idx in range(5, 10):
ws.row_dimensions[idx].hidden = True
Run Code Online (Sandbox Code Playgroud)
我正在寻找这个,只找到了我自己的关于对列执行相同操作的答案! /sf/answers/4215023921/
看起来有两种具有不同 API 的模式:1.“抓取手柄”(-) 位于顶部,2.抓取手柄位于底部。每种模式都有不同的奇怪的“减一”行为,如下所示。
订单算数!您需要先定义外部级别,然后再定义内部级别。
想要三级大纲的示例代码。
#!/usr/bin/env python3
import openpyxl
wb = openpyxl.Workbook()
ws = wb.active
for i in range(1, 25+1):
ws.append([i])
# Expand handle at bottom
# ws.sheet_properties.outlinePr.summaryBelow = True
# ws.row_dimensions.group(2, 25-1, outline_level=1)
# ws.row_dimensions.group(4, 9-1, outline_level=2)
# ws.row_dimensions.group(6, 7-1, outline_level=3)
# Expand handle at top
# NOTE: Order counts!
ws.sheet_properties.outlinePr.summaryBelow = False
ws.row_dimensions.group(2+1, 25, outline_level=1)
ws.row_dimensions.group(4+1, 9, outline_level=2)
ws.row_dimensions.group(6+1, 7, outline_level=3)
wb.save('testrows.xlsx')
Run Code Online (Sandbox Code Playgroud)