Я искал это и нашел только свой собственный ответ о том, как сделать то же самое для столбцов! https://stackoverflow.com/a/60214627
Похоже, есть два режима с разными API: 1. Ручка захвата (-) сверху и 2. Ручка захвата снизу. Каждый режим имеет свое странное поведение, как показано ниже.
Заказ имеет значение! Вам нужно определить внешний уровень перед внутренним.
Пример кода для трех уровней структуры.
- Уровень 1 (крайний) — ряды 2–25
- Уровень 2 (самый средний) - Ряды 4-9
- Уровень 3 (самый внутренний) - Ряды 6-7
![Скриншот выходных данных Google Таблиц](https://i.stack.imgur.com/c4dbo.png)
#!/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')
person
maxslug
schedule
21.04.2021