openpyxl:为一系列 Excel 单元格分配值或应用格式而不进行迭代

2024-05-27

我想应用特定格式或为一系列 Excel 单元格分配一个值,而不需要迭代每个单元格。我目前正在使用这个脚本:

from openpyxl import Workbook
from openpyxl.styles import Font
wb = Workbook()
ws = wb.active

## With iterations

# Apply style
for i, rowOfCellObjects in enumerate(ws['A1':'C4']):
    for n, cellObj in enumerate(rowOfCellObjects):
        cellObj.fill = Font(name='Times New Roman')

# Assign singular value to all cells
for i, rowOfCellObjects in enumerate(ws['A1':'C4']):
    for n, cellObj in enumerate(rowOfCellObjects):
        cellObj.value = 3

wb.save("test.xlsx")

但我正在寻找更短的符号,如下所示:

from openpyxl import Workbook
from openpyxl.styles import Font
wb = Workbook()
ws = wb.active

## Without iterations

# Apply style
ws['A1':'C4'].fill = Font(name='Times New Roman')

# Assign singular value to all cells
ws['A1':'C4'].value = 3

wb.save("test.xlsx")

Does openpyxl或者另一个模块提供类似的东西?

ps:我使用的是Python 3.5


这不太准确。 OpenPyxel 允许将样式应用于列和行:

根据:https://openpyxl.readthedocs.io/en/stable/styles.html https://openpyxl.readthedocs.io/en/stable/styles.html

样式也可以应用于列和行,但请注意,这适用 仅适用于文件关闭后创建的单元格(在 Excel 中)。如果你想 要将样式应用于整个行和列,那么您必须应用 自己为每个单元格设置样式。这是文件格式的限制:

col = ws.column_dimensions['A']
col.font = Font(bold=True)
row = ws.row_dimensions[1]
row.font = Font(underline="single")
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

openpyxl:为一系列 Excel 单元格分配值或应用格式而不进行迭代 的相关文章

随机推荐