Уведомления

Группа в Telegram: @pythonsu

#1 Сен. 7, 2015 08:56:34

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  253  -
Профиль   Отправить e-mail  

xlsxwriter и форматирование ячеек

Iskatel
а продолжают py.user.next и doza_and спорить о феншуе
А я за что получил? Я тут только раз постебался. Я бы вообще придерживался позиции сделать все на xlwt/xlswriter а если чего не получается, так наверное это и не надо делать. (мой опыт показывает что олешные интерфейсы довольно сложные простые вещи лаконичнее райтерами получаются, а сложные в любом слуае убъешся делать.)
Т.е. Я бы просто послал начальство если оно начало требовать бантики в Экселе. Типа вне пределов моей квалификации, можно сделать pdf форму и т.п.

А Т.С. надо выложить два файла один - вход - другой выход - то что он хочет получить. Как иначе тренироваться?

Выделять всю таблицу мне кажется необязательно. Вы можете применить add_format к колонкам или строкам и пройтись по ним циклом.



Отредактировано doza_and (Сен. 7, 2015 09:11:55)

Офлайн

#2 Сен. 7, 2015 12:52:44

4kpt_III
Зарегистрирован: 2014-12-22
Сообщения: 999
Репутация: +  39  -
Профиль   Отправить e-mail  

xlsxwriter и форматирование ячеек

doza_and
Выделять всю таблицу мне кажется необязательно. Вы можете применить add_format к колонкам или строкам и пройтись по ним циклом.

Ага. Я про это уже два раза пишу. Только лучше сразу при заполнении.

Офлайн

#3 Сен. 8, 2015 01:06:57

Iskatel
Зарегистрирован: 2015-07-29
Сообщения: 291
Репутация: +  3  -
Профиль   Отправить e-mail  

xlsxwriter и форматирование ячеек

doza_and
олешные интерфейсы довольно сложные
Вы вероятно путаете OLE и COM. В СОМ сложнее, а в OLE всегото три функции: проперти_гет, проперти_сет и “функтион”. С обертками еще проще.

ТС давно забил и слился кудато…

но чего сложного в:

import win32com.client
excel = win32com.client.Dispatch("Excel.Application")
excel.visible = 1
book = excel.Workbooks.Add()
sheet = book.Worksheets(1)
sheet.Range("B3").Value = "123"
sheet.Range("B3").Interior.Color = 255

ЗЫ. запускать на винде с установленным pywin32.

Отредактировано Iskatel (Сен. 8, 2015 01:08:10)

Офлайн

#4 Сен. 8, 2015 01:32:22

4kpt_III
Зарегистрирован: 2014-12-22
Сообщения: 999
Репутация: +  39  -
Профиль   Отправить e-mail  

xlsxwriter и форматирование ячеек

Iskatel
ЗЫ. запускать на винде с установленным pywin32.

Не так. Запускать ТОЛЬКО на винде и ТОЛЬКО с установленным pywin32 и ТОЛЬКО с установленным MS Office.

А теперь тоже самое с xlsxwriter

import xlsxwriter
#
workbook = xlsxwriter.Workbook('demo.xlsx')
worksheet = workbook.add_worksheet()
#
format = workbook.add_format({'font_color': 'red'})
#
worksheet.write('B3', '123', format)
#
workbook.close()

1. Будет работать на вЫнде, лине и маке. Позволяет без проблем собирать документы на сервере.
2. Не будет запускать никому не известные службы и не требует наличия MS Office вообще на машине.
3. Имеет больше настроек и лаконичнее.
4. Думаю еще и побыстрее будет, но надо проверять…

P.S. И тут никто ничего не путает. Путать уже перестали много лет назад

Отредактировано 4kpt_III (Сен. 8, 2015 01:34:08)

Офлайн

#5 Сен. 8, 2015 01:37:28

Iskatel
Зарегистрирован: 2015-07-29
Сообщения: 291
Репутация: +  3  -
Профиль   Отправить e-mail  

xlsxwriter и форматирование ячеек

4kpt_III
Весомо.

Я только одного не могу понять - нафига этот формат нужен там где вообще нет экселя?

Офлайн

#6 Сен. 8, 2015 01:44:33

4kpt_III
Зарегистрирован: 2014-12-22
Сообщения: 999
Репутация: +  39  -
Профиль   Отправить e-mail  

xlsxwriter и форматирование ячеек

Его все более или менее открывают. Из тех, что знаю.
Десктоп: Open Office, Libre Office, Star Office.
Андроид: Smart Office, Office Suite

Теперь вопрос “почему”. Для меня единственная причина - возможность создать табличный документ с редактируемыми полями. Универсальнее, конечно, pdf, но вот редактировать его простому смертному уж никак не получится

P.S. Ну и не обязательно, чтобы Excel был на сервере. Главное, чтобы он открылся у клиента

P.S.S. odfpy круче в разы, но вот не все его открывают + документация там мрак полный… Нужно копать исходники.

Отредактировано 4kpt_III (Сен. 8, 2015 01:46:02)

Офлайн

#7 Сен. 8, 2015 01:53:13

Iskatel
Зарегистрирован: 2015-07-29
Сообщения: 291
Репутация: +  3  -
Профиль   Отправить e-mail  

xlsxwriter и форматирование ячеек

ГЫЫ программисты такие прграммисты

Interior.Color - заливка, а
{'font_color': ‘red’} - наверное всетаки не то…

Я это так, посмеяться

Офлайн

#8 Сен. 8, 2015 02:02:58

4kpt_III
Зарегистрирован: 2014-12-22
Сообщения: 999
Репутация: +  39  -
Профиль   Отправить e-mail  

xlsxwriter и форматирование ячеек

Поясняю. У меня нет вЫнды и нет возможности запустить Ваш скрипт. Читать документацию по модулю, которым я пользоваться никогда не буду я тоже не собирался, поэтому сделал предположение. В нашем диспуте это играет очень большую роль?

Чтобы Вам спалось спокойнее…

format = workbook.add_format({''bg_color'': 'red'})

Офлайн

#9 Сен. 8, 2015 02:06:41

Iskatel
Зарегистрирован: 2015-07-29
Сообщения: 291
Репутация: +  3  -
Профиль   Отправить e-mail  

xlsxwriter и форматирование ячеек

4kpt_III
В нашем диспуте
Вот это играет большую роль. Я думал что на форуме пишу, ТС помогаю. (ну надо ж с разных сторон осветить, сам выберет) А оказывается тут у нас диспут

ЗЫ. Все это я не в обиду писал, так, поболтать…

Офлайн

#10 Сен. 8, 2015 02:40:03

4kpt_III
Зарегистрирован: 2014-12-22
Сообщения: 999
Репутация: +  39  -
Профиль   Отправить e-mail  

xlsxwriter и форматирование ячеек

Iskatel
Вот тут не согласен. Заполнение экслевского файла через эксель более тру, чем шаманство под линем для того, что нужно (внезапно) под виндой.

Iskatel
Да к Вашему отношению к винде…

Iskatel
xlsxwriter не использовал, ибо читал о нем… xls всетаки приопретарный формат, не?

Iskatel
Я только одного не могу понять - нафига этот формат нужен там где вообще нет экселя?

Все вышеперечисленное противоречит

Iskatel
Вот это играет большую роль. Я думал что на форуме пишу, ТС помогаю. (ну надо ж с разных сторон осветить, сам выберет) А оказывается тут у нас диспут

Помощь ТС закончилась когда Вы начали рассказывать, что более труЪ. С этого момента начался диспут Помощь ТСу в формате доказательства своей правоты другому форумчанину переходит, естественно, в диспут с другим форумчанином

P.S. Для поболтать есть скайп.

Отредактировано 4kpt_III (Сен. 8, 2015 02:41:18)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version