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

我有以下代码从制表符分隔的文本文件中读取数据,然后将其写入到现有Excel工作簿中指定的工作表。 用户inputvariables“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没有修改文件,而是完全创build一个新的文件。 有没有一种简单的方法告诉python检查工作表是否隐藏,然后根据条件是否满足输出隐藏或未隐藏的表单?

谢谢!

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

[UPDATE]

该function现在可用:

 ws.sheet_state = 'hidden' 

或者实际上xls_sheet.sheet_state = 'hidden'在你的具体情况。

查理·克拉克的评论是正确的:

 ws.sheet_state = 'hidden' 

这对我有用。