python - Openpyxl 和隐藏/未隐藏的 Excel 工作表

标签 python excel openpyxl

我有以下代码从制表符分隔的文本文件中读取数据,然后将其写入现有 Excel 工作簿中的指定工作表。变量“workbook”、“write_sheet”、“text_file”由用户输入

tab_reader = csv.reader(text_file, delimiter='\t')
xls_book = openpyxl.load_workbook(filename=workbook)
sheet_names = xls_book.get_sheet_names()
xls_sheet = xls_book.get_sheet_by_name(write_sheet)
for row_index, row in enumerate(tab_reader):
        number = 0
        col_number = first_col
        while number < num_cols:
                cell_tmp = xls_sheet.cell(row = row_index, column = col_number)
                cell_tmp.value = row[number]
                number += 1
                col_number += 1
xls_book.save(workbook)

但是,当我在其中“工作表”是隐藏选项卡的预先存在的“工作簿”上运行此代码时,输​​出会取消隐藏该选项卡。我认为原因是因为 openpyxl 没有修改文件,而是完全创建了一个新文件。有没有简单的方法告诉python检查工作表是否隐藏,然后根据是否满足条件输出隐藏或未隐藏的工作表?

谢谢!

最佳答案

我们目前不支持在 openpyxl 中隐藏工作表,因此这在读取文件时会被忽略,因此在保存文件时会丢失。我认为添加它应该不会太难。请在 Bitbucket 上提交功能请求。

[更新]

该功能现已可用:

ws.sheet_state = 'hidden'

或者实际上 xls_sheet.sheet_state = 'hidden' 在您的特定情况下。

关于python - Openpyxl 和隐藏/未隐藏的 Excel 工作表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23157643/

相关文章:

excel - 将 Word 文档中的数据提取到 Excel 电子表格

excel - 如何使用vba将合并表从word导出到Excel

python - 与 xlrd 相比,使用 openpyxl 读取 Excel 文件的速度要慢得多

Python 循环困惑

python - 如何将本 map 片的超链接写入openpyxl中的单元格?

python - Discord 机器人 GCP 云功能

python - java.io.IOException : Cannot run program "python" (in directory "D:\Doc\module\subject"): CreateProcess error=2,

VBA用其计算值替换函数公式内的范围

python - Seaborn clustermap 固定单元格大小

Python 类型错误 : draw() takes exactly 1 argument (2 given)