Как изменить таблицы xml внутри excel с помощью openpyxl?
Я пытаюсь заполнить таблицу (внутри шаблона xlsx для Dynamics NAV) с помощью openpyxl, но когда я открываю файл в Excel, появляется предупреждение: «Мы обнаружили проблему с некоторым содержимым в <Excel_filename>. Вы хотите, чтобы мы попытались восстановить файл настолько, насколько это возможно? Если вы доверяете источнику этой книги, нажмите «Да».
Затем Excel «восстанавливает» файл, и я все еще вижу данные, но таблица /xl/tables/table1.xml исчезла, и Navision не может принять файл.
Это мой код на питоне:
import openpyxl
wb = openpyxl.load_workbook("data_source.xlsx", data_only=True)
sheet1 = wb.active
wb2 = openpyxl.load_workbook('template.xlsx')
sheet2 = wb2.active
filas = sheet1.max_row
for fila in range(3,filas):
sheet2["A"+ str(fila)] = sheet1["A"+ str(fila)].value
sheet2["B"+ str(fila)] = sheet1["B"+ str(fila)].value
sheet2["C"+ str(fila)] = "FRA"
sheet2["D"+ str(fila)] = "NAC"
wb2.save('tax1.xlsx')
wb2.close()
Когда я создаю таблицу с нуля с кодом, который они показывают на официальном сайте openpyxl: https://openpyxl.readthedocs.io/en/latest/worksheet_tables.html#creating-a-table , он отлично работает, только если таблица начинается с первая строка (ref="A1:E5").
... но в этом шаблоне есть таблица, начинающаяся с 3-й строки!
Итак, когда я пытаюсь создать нужную мне таблицу (ref="A3:D6"), я получаю следующее:'UserWarning: File may not be readable: column headings must be strings.'
и, как и ожидалось, я получаю то же предупреждение и тот же результат, когда открываю его в Excel.
Есть ли способ изменить/заполнить таблицу без повреждения файла xlsx?
или, как обходной путь Есть ли способ создать таблицу из А3 без ошибок? заранее спасибо