Openpyxl и скрытые / скрытые листы Excel
У меня есть следующий код, который считывает данные из текстового файла с разделителями табуляции, а затем записывает их на указанный лист в существующей книге 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, чтобы проверить, скрыт ли лист, а затем вывести скрытый или не скрытый лист на основе того, выполняется ли условие?
спасибо!
2 ответов
в настоящее время мы не поддерживаем скрытие листов в openpyxl, поэтому это просто игнорируется при чтении файла и, следовательно, теряется при его сохранении. Я не думаю, что это будет слишком сложно добавить. Пожалуйста, отправьте запрос на Bitbucket.
[обновление]
функция теперь доступна:
ws.sheet_state = 'hidden'
или на самом деле xls_sheet.sheet_state = 'hidden'
в вашем конкретном случае.