我想应用特定格式或为一系列 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")
Run Code Online (Sandbox Code Playgroud)
但我正在寻找一个更短的符号,像这样:
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")
Run Code Online (Sandbox Code Playgroud)
是否openpyxl或另一个模块提供这样的东西?
ps:我使用的是 Python 3.5
小智 13
这并不完全准确。OpenPyxel 允许将样式应用于列和行:
根据: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")
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
13121 次 |
| 最近记录: |