Я установил текст переноса для ячейки и автоматической высоты в Microsoft Office 2007 с новым форматом xlsx (он работает так же для старого xls).
Когда я сохраняю файл и открываю его с помощью Libreoffice, текст переноса не работает (он показывает ячейку в одной строке, в то время как текст внутри может быть обернут - но я его не вижу).Затем я захожу в меню File -> Text -> и вижу здесь Wrap text selected.Я отменяю выбор, и тогда высота столбца автоматически изменяется на высоту, которая является высотой ячейки с обернутым текстом, но текст находится в одной строке.Затем я иду в File -> Text -> Wrap text снова и выбираю его, и, наконец, все выглядит нормально.
Проблема в том, что мне нужно, чтобы высота столбца обернутого текста как-то распознавалась Libreoffice, чтобы все работало сразу после открытия файла xlsx, без каких-либо изменений в нем.
Итак, есть способ установить высоту строки из офиса Microsoft таким образом, чтобы это распознавалось Libreoffice.Для создания файла Microsoft Excel я использую template + openpyxl.Я установил текст переноса в python поверх шаблона xlsx (используя openpyxl) и в шаблоне ранее.
Но я думаю, что это не является специфичным для openpyxl, потому что использование только Microsoft Office, сохранение файла xlsx и открытие с помощью Libreoffice показывают ячейку неправильно.Использование всей процедуры 1.Microsoft xlsx 2.python openpyxl 3. сохранение файла приводит к нормальной работе файла Microsoft с высотой строки и наличию одной строковой ячейки внутри Libreoffice для переноса текста.Так что я не знаю, как это решить.Может быть решение с использованием openpyxl или с использованием только Microsoft Office, но мне нужно иметь файл, чтобы открыть в libre Office с этим работающим упакованным текстом (высота строки), потому что после этого я посылаю файл программно в soffice, чтобы экспортировать его как pdf
subprocess.call(['soffice', '--headless', '--convert-to', 'pdf', path_xlsx, '--outdir', directory_xlsx])
и, следовательно, у меня нет возможности открыть файл и изменить его вручную. Изменение решения для экспорта в pdf недоступно
==============
Перед редактированием параметра переноса в Libreoffice строкавыглядит так на листе (этот код извлекается из архива xlsx из файла листа xl / worksheets / sheet1.xml):
<row r="4" spans="1:13">
после редактирования выглядит так:
<row r="4" customFormat="false" ht="41.95" hidden="false" customHeight="false" outlineLevel="0" collapsed="false">
Так может быть, если есть способ добавить collapsed = "false", customHeight = "false" и customFormat = "false" через openpyxl, это может решить проблему.
Редактировать 1: Я нашел их в модуле openpyxl.worksheet.dimensions.Но они не могут быть установлены.