如何使用openpyxl逐个单元格插入和格式化XLSX文件中的值

1 投票
1 回答
4647 浏览
提问于 2025-04-16 16:38

我正在尝试使用openpyxl模块来写一个XLSX文件。我现在是用append()方法一行一行地插入数据。但我想要的是一个一个单元格地插入数据。此外,我还想对单元格进行格式设置,比如字体、颜色、对齐方式等等。请帮帮我。

1 个回答

6

你可以使用openpyxl逐个单元格地设置这些内容(如果你需要这样做)。下面是一个小例子,它展示了如何在一个工作簿中设置单元格的值、名称(命名范围)以及一些样式:

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)

想了解更多关于如何设置单个格式的信息,可以查阅openpyxl文档中的Style类。

撰写回答