首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用openpyxl折叠多行

使用openpyxl折叠多行
EN

Stack Overflow用户
提问于 2014-11-26 02:09:23
回答 3查看 10.6K关注 0票数 6

有没有一种使用openpyxl折叠多行的方法?似乎没有与openpyxl simple usage page上的示例等同的行。

代码语言:javascript
复制
import openpyxl
wb = openpyxl.Workbook(True)
ws = wb.create_sheet()
ws.column_dimensions.group('A','D', hidden=True)
wb.save('group.xlsx')
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-11-26 03:34:25

不,没有等效行,但是行更容易处理,因为它们总是在那里,ColumnDimensions是按需创建的。只需设置要隐藏的行。

例如:要隐藏第5行到第9行:

代码语言:javascript
复制
for idx in range(5, 10):
    ws.row_dimensions[idx].hidden = True
票数 8
EN

Stack Overflow用户

发布于 2020-06-30 00:52:33

您可以使用row_dimensions.group方法完成此操作

代码语言:javascript
复制
from openpyxl import Workbook

wb = Workbook()
ws = wb.create_sheet()
ws.column_dimensions.group("A", "D", hidden=True)
ws.row_dimensions.group(1, 5, hidden=True)
wb.save("group.xlsx")
票数 3
EN

Stack Overflow用户

发布于 2021-04-22 05:48:47

我正在搜索这个,结果只找到了我自己的答案,关于对列做同样的事情!https://stackoverflow.com/a/60214627

看起来有两种不同接口的模式: 1.“抓取把手”(-)在顶部,和2。抓取把手在底部。每种模式都有不同的奇怪的“关闭一次”行为,如下所示。

订单很重要!您需要在定义内部级别之前定义外部级别。

想要三个级别的大纲的示例代码。

  • Level 1(最外面)-行2-25
  • Level 2(中间主机)-行4-9
  • Level 3(最里面)-行6-7

代码语言:javascript
复制
#!/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')
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27133731

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档