Как вставлять и форматировать значения по ячейкам в файле XLSX, используя openpyxl - PullRequest
1 голос
/ 29 апреля 2011

Я пытаюсь написать файл XLSX с помощью модуля openpyxl.Я использую метод append() для вставки значений построчно.Но я хочу вместо этого вставлять значения ячейка за ячейкой.Я также хотел бы отформатировать ячейку (шрифт, цвет, выравнивание и т. Д.).Пожалуйста, помогите мне.

1 Ответ

5 голосов
/ 07 декабря 2011

Вы можете установить всю эту ячейку за ячейкой (если это то, что вам нужно), используя openpyxl. Вот небольшой пример, который устанавливает значение, имя (named_range) и стиль ячеек в книге:

from openpyxl.workbook import Workbook
wb = Workbook()
dest_filename = r'empty_book.xlsx'
ws = wb.worksheets[0]    

name = 'name'

for col_idx in xrange(1, 101):
    col = get_column_letter(col_idx)
    for row in xrange(1, 1001):
        ws.cell('%s%s'%(col, row)).value = '%s%s' % (col, row)
        ws.cell('%s%s'%(col, row)).style.fill.fill_type = 'solid'
        ws.cell('%s%s'%(col, row)).style.fill.start_color.index = openpyxl.style.Color.DARKYELLOW
        wb.create_named_range(name+str(i), ws, '%s%s'%(col, row))

wb.save(filename = dest_filename)

Посмотрите класс Style в документации openpyxl, чтобы узнать больше о том, как установить отдельные форматирования.

...