Найти - Пользователи
Полная версия: Проблемы с генерацией xls файлов в Python
Начало » Python для новичков » Проблемы с генерацией xls файлов в Python
1 2 3 4
savao
Добрый день.

В проекте нужно генерировать xls файлы по содержимому БД. Нашел для этого библиотеку xlwt, все устраивало полностью пока не уперся в проблему - как сделать формат ячейки таким, чтобы размеры ячейки подстраивались под содержимое? Т.е. мне надо чтобы ячейка растягивалась в ширину и, если все равно мало, растягивалась и в высоту и при этом содержимое шло в несколько строк.

Документации по библиотеке практически нет. Смотрел в примерах на гитхабе, там подобной задачи не нашел. Написал в группу на гугле, в которой обсуждается работа этой библиотеки, но мое сообщение даже пока не выложили в доступ (не прошло премодерацию). Может тут кто подскажет?

Или, может быть, какой-то более удобный инструмент для решения моей задачи?
noob_saibot
A style – also known as an XF (extended format) – is an XFStyle object, which encapsulates the formatting applied to the cell and its contents. XFStyle objects are best set up using the easyxf function. They may also be set up by setting attributes in Alignment, Borders, Pattern, Font and Protection objects then setting those objects and a format string as attributes of an XFStyle object.
Из документации
Но мне, кажется, проще в созданном xls => Ctrl+A => Перенос слов, правда если файлов много…
savao
Я не понял, это вы к чему?
То что там написано, я знаю. Я читал доку и смотрел примеры.
У меня вопрос как сделать то что мне нужно.
Трогать xls после создания я не могу. Так как я его вообще получать не буду. Он будет сразу уходить по email.
noob_saibot
Человек выложил программу там абсолютно все есть
Так же есть примеры которые идут в комплекте с модулем:
row_styles.py
col_width.py
savao
Я не понял, это вы к чему?
К тому что все делается через стайл. И значит вы не знали документацию => не смогли найти пример. Стоит только услышать что вам говорят, а не просто слушать.
savao
То что это делается через стили, я и так понимаю, просто не мог понять, как это сделать.
В указанных вами примерах того что мне надо нет.
А вот в проге этой ща попробую. Спасибо. Там все доступно, вроде расписано.
savao
Спасибо. Вроде помогло.
Единственное, что я не понял, как чтобы и ширина столбцов растягивалась, какой параметр выбрать.
Я поставил:
alignment.horz = xlwt.Alignment.HORZ_DISTRIBUTED
alignment.vert = xlwt.Alignment.VERT_JUSTIFIED
У меня получилось что высота растягивается, а ширина у всех столбцов неизменная. Пробовал и другие варианты, но всегда одно и то же. Либо же ячейки начинают растягиваться, а не столбцы.
4kpt_II
Не xlwt единым
Есть еще XlsWriter. Там очень хорошая и понятная документация. В документации просто бессовестная куча примеров и описаний. Каждый метод описывается очень и очень подробно. Если здесь у Вас не получится, то можете глянуть как альтернативный вариант.

P.S. Если нужна будет документация - пишите…
savao
Ага, спасибо, почитаю.
savao
Нет.
Вы знаете, я ошибся, там xlsxWriter. Не дадите ссылочку на xlswriter? А то я его и на pypi не нашел.
4kpt_II
Как это не нашли?
Ну вот же она….
Там же есть переход на документацию.
Есть еще у меня документация в pdf, я даже не знаю, совпадает ли она
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB