Я использую openpyxl для создания нового листа. Проблема, с которой я сталкиваюсь, заключается в том, что при сохранении файла openpyxl объединяет многие объединенные ячейки и объединяет множество неотсоединенных ячеек. Я использую два файла, потому что иногда мне нужно получить доступ к значению, но мне нужно сохранить формулы.
import openpyxl
import shutil
old_file='old.xlsx'
new_file='new.xlsx'
shutil.copy(old_file,new_file)
wb=openpyxl.load_workbook(old_file, data_only=True)
wb2=openpyxl.load_workbook(new_file,data_only=False, read_only=False)
sheet=wb.get_sheet_by_name('sheet1')
sheet2=wb2.get_sheet_by_name('sheet1')
for row in range(1,sheet2.max_row):
if sheet2.cell(row,1).value is not None and sheet2.cell(row,1).value == 'insert here':
row2 = row
else:
pass
sheet2.insert_rows(row2,amount=1)
Некоторые из вставленных ячеек выглядят как объединенные. Кроме того, некоторые из объединенных ячеек в файле становятся не объединенными, а многие из ячеек, которые были объединены, объединяются. Я смог изменить значения в ячейках, и все работало нормально. Кажется, проблема возникает после того, как я вставил строку. Кто-нибудь сталкивался с этой проблемой? В Интернете я обнаружил, что ячейки теряют границы и стили.
Я смотрел на этот ответ , но дело в том, что иногда я не знаю, сколько строк потребуется быть добавленным Я попытался:
Я использую linux, и на моем компьютере установлена Libre. Это как-то связано с этим? Когда я открываю файл на WIndows ОС с Excel, возникает проблема слияния / удаления.
for merged_cell in merged_cells_range:
merged_cell.shift(0,1)
Но все стало еще хуже. Теперь ячейки, которые остались объединенными, теперь объединены.