Używam xlrd
, xlutils.copy
i xlwt
do otwierania pliku szablonu, kopiowania go, wypełniania go nowymi wartościami i zapisywania.Zachowywanie stylów przy użyciu xlrd, xlwt i xlutils.copy Pythona
Jednak wydaje się, że nie ma łatwego sposobu na zachowanie formatowania komórek; zawsze zostaje oderwany i ustawiony jako pusty. Czy jest jakiś prosty sposób, w jaki mogę to zrobić?
Dzięki! /Yga
przykładowy skrypt:
from xlrd import open_workbook
from xlutils.copy import copy
rb = open_workbook('output_template.xls',formatting_info=True)
rs = rb.sheet_by_index(0)
wb = copy(rb)
ws = wb.get_sheet(0)
for i,cell in enumerate(rs.col(8)):
if not i:
continue
ws.write(i,2,22,plain)
wb.save('output.xls')
Wersje:
xlrd
: 0.7.1xlwt
: 0.7.2
Lepszą poprawką byłoby dodanie xlwt wartości 'wb.write_value (row, col, value)'. To działa, ale ma dużo kodu śmierdzącego w mojej książce, pracując nad słabą implementacją xlwt. – boatcoder
Czy to się kiedykolwiek zdarzyło? – YGA