0Pricing
Python Academy · 课时

写入和设置单元格样式

创建并格式化电子表格

写入和设置单元格样式 是 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 反馈 — 无需本地设置。

此课程中的所有课时

  1. 读取工作簿
  2. 写入和设置单元格样式
  3. 公式与图表
  4. 批量处理报告
← 返回 Python Academy