Форум сайта python.su
253
savaoВот именно. Если на той стороне зоопарк офисов, то поддержка очень скоро станет весьма трудоемкой. :(
это все коту под хвост
Офлайн
0
Обязательно попробуй стиль. Всё дело в нём. Ширину ячейки (столбца) ты должен задать руками:
ws.col(0).width = 3100 ws.col(1).width = 1900 ws.col(2).width = 1900
savao
А вот про последнюю строчку, я не понял, а в чем ее смысл? Просто вроде это тоже самое что и ws.write(i, 1, data1, style)
ws.write(0,0,'A1') #запишем значение А1 в ячейку А1 ws.write(0,1,'B1') #запишем значение В1 в ячейку В1
ws.write_merge(0,2,0,5,'Merged',style) #объединим ячейки 3Rx6C и запишем в получившуюся ячейку A1 'Merged'
Офлайн
0
2 doza_and: Дело в том что я пишу проект - веб-ориентированный CRM. И мне надо сделать так чтобы его пользователям было удобно общаться с клиентами. Заказчик - юрилическая компания, работающая с бизнесом. Клиенты у нее самые разнообразные, и ставить им условия они не могут. Конкретно эта экселька идет как приложение к комерческому предложению. Если менеджер заказчика начнет указывать сотрудникам клиента какой софт они должны себе поставить, их пошлют просто и все. Поэтому приходится где-то лишние усилия прилагать но делать так чтобы тем кто будет получать эти файлы, было удобно. И чтобы сотрудникам фирмы заказчика было удобно. Так что приходится повертеться. 
2 dugar: да, про ширину столбца я уже понял, что придется ручками вписывать. По поводу стиля, вы уверены? Просто если задавать стиль, определяя объект XFStyle напрямую, то для того чтобы был перенос по словам надо поставить параметр wrap в значение 1 (по умлолчанию он равен 0). Но вот с этой оберткой я не работал, надо будет как-то попробовать. Думаю, мне xls файлы еще много делать придется. По поводу write_merge() я знаю что она делает. Просто в приведенном вами примере она была эквивалентна просто write(), так как объединяла одну ячейку саму с собой, ячейку (i, 1). Поэтому я и удивился.
2 all: Всем большое спасибо, было приятно что столько людей помогают. На данный момент делать эту xls-ку я закончил, жду ответа от заказчика, все ли его устраивает.
Еще раз, спасибо! Божией помощи всем!
Офлайн
253
savaoДа я прекрасно понимаю что вы неспроста этим занимаетесь. Я стараюсь делиться опытом. Если это приложение к договору, то неплохо подходит pdf может pdf формы. У нас часто это еще и защищенный pdf чтобы ничего не испортил клиент. Опять мой опыт показывает что часто постановку задачи можно изменить. Заказчик пишет то что знает, а вы можете знать чтото еще. Но вам конечно видней. Успехов в вашем нелегком труде!
Так что приходится повертеться
Офлайн
0
Тут как раз таки нужен именно xls или любой другой редактируемый формат, насколько я понял заказчика, так как это все не фиксируется изначально. Вот договор я пошлю в pdf. Я не силен в юриспруденции. Но понимаю так что им нужно чтобы этот документ был редактируемым на стороне клиента.
Спасибо за пожелания.
Офлайн
58
Есть еще вариант сделать одинаковых три файла, чтобы они отгружались клиенту.
В одном проекте клиенту отгружался pdf, xls и ods и все с одинаковым содержимым. Причина была банальна - не всегда xls открывался корректно… А он уже из прикрепленного выбирал то, что ему подходит. Но это, естественно, дополнительная нагрузка на сервер. Нужно еще смотреть, какими ресурсами располагает клиент. У нас был огромный зазор по возможностям учитывая реальную нагрузку, поэтому и наструячили.
Офлайн
0
Хм, да, может так, в итоге, и придется делать.
Вопрос будет только тогда, если такую рассылку делать массово, чем pdf генерить?
Офлайн
253
После опробования разных вариантов мы pdf делаем связкой mako+pdflatex. Причина такого выбора в том, что любой другой опробованный нами способ требует на порядок больше усилий чтобы получить качество документов удовлетворяющее заказчика. Минус этого подхода в том что latex довольно медленная штука. Кроме того нельзя отдавать редактирование шаблонов на сторону пользователя (как и большинстве других технологий). Латех любит в случае ошибки ждать подтверждение от пользователя, что не совсем приятно при работе сервера.
Посмотрите https://pypi.python.org/pypi/xhtml2pdf.
Насколько я знаю есть еще одна проблемка. Всякие организации типа Налоговой, бугалтерий, планово технических отделов, и т.п. жестко требуют чтобы данные предоставлялись в разработанных ими формах. Формы у них зачастую в ворде или екселе. Они их со страшной силой меняют (могут почти каждую неделю). Сделаны они в большинстве случаев так, что в принципе неработоспособны. Например если текста много то он просто не виден при печати и т.д. и т.п. … :(:(:(.
Ну тут или штат девочек надо держать чтобы эти изменения отслеживать, или мутить обратную конвертацию в нормальные форматы и держать штат мальчиков которые будут оживлять этого монстра для конвертации, или послать этих …….(подставьте свое) и не иметь с ними никаких дел. Мы к счастью с такими организациями дел не имеем. :)
Я думаю что это неизбежный эволюционный процесс развития технологий документооборота. И вы по мере сил должны бороться с глупостью в этих технологиях. Предлагайте свои решения заказчику. Отстаивайте их.
Мое мнение:
В большинстве случаев вы отдаете конечный документ. Клиент тогда вообще не имеет право его исправлять. (типа отдаем pdf,ps)
Если надо править - то это не документ, а шаблон документа. Что отдавать зависит от механизма шаблонизации (например отдаем не doc а dot). Наилучший - оставить его у себя на сервере предоставив веб интерфейс для задания данных. На стороне клиента на мой взгляд наилучшим на текущий момент вариантом является pdf с полями ввода.
Если отдаете xls то это уже не документ и не шаблон а алгоритм. И отдавать xls надо только если есть нужда проводить вычисления на стороне клиента. Но тоже не считаю что это хороший выбор вычислительного инструмента.
Отредактировано doza_and (Март 22, 2014 08:49:49)
Офлайн
0
Спасибо большое… Правда с этим заказчиком так не получится… Но, в целом, я согласен.
Офлайн