Есть ли способ сохранить форматирование пустых (не созданных) ячеек из Excel с использованием openpyxl? - PullRequest
0 голосов
/ 30 апреля 2019

У меня есть файл excel (.xlsx) со строкой заголовков и некоторым форматированием всего файла, например шрифтом и текстом переноса, и я хочу использовать openpyxl для заполнения листа данными.

Яобнаружение, что openpyxl сохранит форматирование заголовков, потому что эти ячейки существуют, они «созданы», и openpyxl может увидеть, каково их форматирование.Не уверен, что эта терминология верна, но openpyxl, похоже, работает только с явно созданными ячейками, а не со всем листом пустых, неиспользуемых ячеек.

Во всех ячейках за пределами заголовков форматирование всего файла теряетсякогда openpyxl обновляет значение.Я пытался скопировать выравнивание ячеек и т. Д. В переменные перед обновлением, чтобы потом применить его повторно, но openpyxl, похоже, вообще не видит форматирование всего файла (в еще не созданной ячейке);при первом обращении к ней создается ячейка со всем форматированием пустым / по умолчанию:

Параметры: горизонтальный = нет, вертикальный = нет, textRotation = 0, wrapText = нет, shrinkToFit = нет,indent = 0.0 ,lativeIndent = 0.0, justifyLastLine = None, readOrder = 0.0

Есть ли какой-нибудь способ увидеть с помощью openpyxl, какой формат еще не использованной ячейки установлен вфайл Excel?В качестве обходного пути я мог бы установить некоторое форматирование по всему файлу в каждой новой создаваемой ячейке, но это должно было бы быть сделано вручную для разных файлов с различным форматированием по всему файлу, и не помогло бы с одним файлом Excel с различным форматированием на разныхстолбцы (из еще не заполненных ячеек).

Другим обходным решением является то, что некоторые типы границ, применяемые в файле Excel, «создают» ячейки и заставляют openpyxl работать с ними как с существующими ячейками, чторешает проблему.Но требует, чтобы у меня были пунктирные границы на всем.Есть ли способ «создать» диапазон ячеек в Excel, не заполняя их чем-либо или применяя любое нежелательное форматирование, такое как пунктирные границы, чтобы я мог затем работать с этими ячейками в качестве существующих ячеек?

...