写入和设置单元格样式
创建并格式化电子表格
写入和设置单元格样式 是 CoddyKit 上的免费 Python Academy 课时。 这是第 2 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Python Academy 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Python Academy 课程共包含 4 节课。
创建电子表格
除了读取之外,openpyxl 还可以从头创建电子表格:写入值、设置单元格格式并应用样式,让输出看起来专业,而不是未经处理的原始数据。
本课将介绍如何写入数据和应用格式。
新建工作簿
Workbook() 会创建一个包含一个工作表的空工作簿。使用 ws = wb.active 获取该工作表,还可以通过 ws.title = 'Report' 选择性地重命名它。
您可以使用 wb.create_sheet('Details') 添加更多工作表。
写入值
可以直接向单元格赋值:ws['A1'] = 'Name',或者使用 ws.cell(row=1, column=1, value='Name')。要在底部添加整行,请使用 ws.append([...])。
使用 append 模式逐行写入表格非常方便。
header = ['Name', 'Score']
data = [['Ada', 95], ['Linus', 88], ['Grace', 99]]
print('append:', header)
for row in data:
print('append:', row)保存文件
在调用 wb.save('report.xlsx') 之前,任何内容都不会写入磁盘。忘记保存是初学者最常见的错误。最后一次写入后务必保存。
字体
设置样式时,会使用来自 openpyxl.styles 的小型样式对象。将 Font(bold=True, size=14, color='FF0000') 赋给 cell.font,就可以使文本变为粗体、字号变大并显示为红色。
颜色使用八字符的 ARGB 十六进制字符串。
alpha = 'FF'
rgb = '0000FF'
argb = alpha + rgb
print('Blue, fully opaque:', argb)填充与背景色
在 cell.fill 上设置 PatternFill(start_color='FFFF00', fill_type='solid'),就可以填充单元格背景,例如将表头行突出显示为黄色。填充样式可以吸引读者注意重要区域。
对齐
在 cell.alignment 上设置 Alignment(horizontal='center', vertical='center', wrap_text=True),可以使文本居中,并在单元格内换行显示较长内容。良好的对齐方式能让表格更易读。
边框
边框由 Side 对象构成,并封装在 Border 中:在单元格四条边都应用细线,就能勾勒出单元格轮廓。对一个范围应用相同的边框,可以创建整洁的网格。
数字格式
使用 cell.number_format 设置数字的显示方式,例如使用 '#,##0.00' 显示带千位分隔符的两位小数,或使用 '0%' 显示百分比。存储的值保持不变,只有显示方式会改变。
value = 1234567.5
formatted = format(value, ',.2f')
print('Stored:', value)
print('Displayed:', formatted)列宽与合并
使用 ws.column_dimensions['A'].width = 20 设置列宽。使用 ws.merge_cells('A1:D1') 合并单元格,以创建标题横幅。这些收尾处理能让输出看起来像手工制作的一样。
重复使用样式对象
可以创建一次 Font 和 PatternFill 等样式对象,然后将它们应用到多个单元格。定义一个表头样式,再遍历表头行并将它赋给每个单元格。这样可以保持格式一致,同时让代码更简洁。
请将样式视为可重复使用的常量,而不是为每个单元格重新创建样式。
快速检查
测试您对写入和设置样式的掌握程度。
回顾
现在您已经可以创建带样式的电子表格:
Workbook()、wb.active、create_sheet和ws.append- 始终以
wb.save(path)结束 - 使用来自
openpyxl.styles的Font、PatternFill、Alignment和Border设置样式 - 使用
number_format控制显示方式,并设置列宽和使用merge_cells
常见问题解答
「写入和设置单元格样式」课时是免费的吗?
是的 — 「写入和设置单元格样式」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Python Academy 课程的其余内容,请升级到 CoddyKit PRO。 Python Academy 课程共包含 4 节课。
「写入和设置单元格样式」这节课中我会学到什么?
创建并格式化电子表格 你通过在浏览器中直接运行的动手代码来练习 Python Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。
学习 Python Academy 需要有经验吗?
无需任何先前经验。CoddyKit 上的 Python Academy 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 2 节课,共 4 节。
「写入和设置单元格样式」课时需要多长时间?
大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。
我能在这节 Python Academy 课中编写并运行代码吗?
能。每节 Python Academy 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。