Страницы

Поиск по вопросам

четверг, 23 января 2020 г.

Python xlsxwriter: как задать ширину колонок по максимальной длине текста в ней?

#python #excel


Добрый день!

У меня есть excel файл.
Подскажите, как с помощью xlsxwriter раздвинуть столбцы по ширине, чтобы помещалась
максимальная информация?

То есть например, в колонке {id, 1, 11, 111} ширина будет 3, в колонке {code, TEST,
FILE, EXCEL} ширина будет 5 и т.д.

То есть сделать то же самое, как если выделить всю таблицу вручную и кликнуть по
границе столбца.

Вопрос в том, как пробежаться по всем столбцам и установить нужную ширину?

Пример покажу на картинке:

    


Ответы

Ответ 1



Ссылка на документацию: http://xlsxwriter.readthedocs.org/worksheet.html#set_row Примеры: worksheet.set_column(0, 0, 20) # Column A width set to 20. worksheet.set_column(1, 3, 30) # Columns B-D width set to 30. worksheet.set_column('E:E', 20) # Column E width set to 20. worksheet.set_column('F:H', 30) # Columns F-H width set to 30. Судя по документации нет простого способа "AutoFIT" (вписать размер ячейки по содержимому). Выход есть конечно, это считать длину для каждой ячейки и находить максимальную, и потом использовать её для установки ширины. Проще назначить "максимальный" и удобоваримый для глаз размер заранее. Например 20-25 знаков. Выдержка из документации: There is no way to specify “AutoFit” for a column in the Excel file format. This feature is only available at runtime from within Excel. It is possible to simulate “AutoFit” in your application by tracking the maximum width of the data in the column as your write it and then adjusting the column width at the end. Ссылка на пример AutoFit английский SO: https://stackoverflow.com/questions/29463274/simulate-autofit-column-in-xslxwriter

Комментариев нет:

Отправить комментарий