国产化Excel开发组件Spire.XLS教程:Python 写入 Excel 文件,数据写入自动化实用指南
Excel 是最常用的数据整理、分析和展示工具之一。无论是财务报表还是运营仪表盘,很多场景都需要将数据导出到 Excel,以便阅读和共享。相比手动输入,通过 Python 自动化写入 Excel 文件 能让处理过程更高效、更可靠,也具备更好的扩展性。
在本文中,我们将介绍如何借助Spire.XLS使用 Python 将数据写入 Excel 文件,内容涵盖结构化数据插入、格式设置以及数据导出。文中示例所用库支持在代码中直接创建并自定义工作簿。
Spire.XLS for Python试用下载,请联系E-iceblue-Spire授权代理商慧都科技
技术交流Q群(125237868)
环境准备
在 Python 中写入 Excel 文件,需要使用支持创建、加载和保存工作簿的库。Spire.XLS for Python 提供完整的 API,可以轻松实现自动化报表生成和数据处理。
使用 pip 安装:
pip install spire.xls安装完成后,可以通过以下三种核心操作来处理 Excel 文件:
[*]创建新工作簿 – 使用 Workbook() 初始化 Excel 文档。
[*]加载现有工作簿 – 使用 LoadFromFile() 打开已有 Excel 文件。
[*]保存工作簿 – 使用 SaveToFile() 将工作簿导出为 .xlsx、.xls、CSV 等格式。
这些操作构成了后续写入数据、设置格式和管理多工作表的基础。
from spire.xls import Workbook, ExcelVersion
workbook = Workbook()
workbook.LoadFromFile("Sample.xlsx")
sheet = workbook.Worksheets
# 添加新行(中文示例)
sheet.Range["A4"].Value = "笔记本电脑"
sheet.Range["B4"].NumberValue = 5
sheet.Range["C4"].NumberValue = 5800.00
sheet.Range["A5"].Value = "显示器"
sheet.Range["B5"].NumberValue = 10
sheet.Range["C5"].NumberValue = 1200.00
workbook.SaveToFile("output/updated_excel.xlsx", ExcelVersion.Version2016)
使用 Python 将数据写入 Excel 文件
在实际业务中,可能需要新建 Excel 文件、更新现有报表,或者写入不同类型的数据(如文本、数字、日期和公式)。下面展示了在这些常见场景下,如何高效地 用 Python 在 Excel 中写入和管理数据。
向现有 Excel 文件追加数据
如果需要在已有 Excel 报表中追加新信息,例如新增销售记录、库存更新或附加数据行,可以通过以下方式在不覆盖原有内容的情况下插入数据并保存:
关键点:
[*]LoadFromFile() – 加载现有 Excel 文件。
[*]Range["单元格"] – 通过名称引用单元格。
[*]Value / NumberValue – 向单元格写入文本或数值。
[*]SaveToFile() – 保存文件到指定格式。
这种方式能让报表在不丢失原始内容的情况下持续更新。
示例效果:
批量写入多行多列数据
对于大规模数据,逐行逐列写入效率低,推荐一次性写入整个数据集。这样不仅节省时间,还能保证数据在表格中的一致性:
from spire.xls import Workbook, ExcelVersion
# 创建新工作簿
workbook = Workbook()
sheet = workbook.Worksheets
orders = [
["订单号", "客户", "产品", "数量", "价格", "状态"],
,
,
,
,
]
for row_index, row_data in enumerate(orders, start=1):
for col_index, value in enumerate(row_data, start=1):
if isinstance(value, (int, float)):
sheet.Range.NumberValue = value
else:
sheet.Range.Value = value
workbook.SaveToFile("output/orders.xlsx", ExcelVersion.Version2016)要点:
[*]enumerate() – 获取行列索引。
[*]Range – 通过行列索引引用单元格。
批量写入非常适合导出数据库查询结果或生成运营报表。
效果示例:
写入不同类型的数据
Excel 支持多种数据类型,例如文本、数字、日期、公式和布尔值。使用合适的属性和方法可以保证数据准确存储和展示:
from spire.xls import Workbook, ExcelVersion, DateTime, TimeSpan
workbook = Workbook()
sheet = workbook.Worksheets
# 一般值
sheet.Range.Text = "常规示例"
sheet.Range.Value = "示例123"
# 数字
sheet.Range.Text = "数字示例"
sheet.Range.NumberValue = 1234.56
sheet.Range.NumberFormat = "0.000"
# 日期
sheet.Range.Text = "日期示例"
sheet.Range.DateTimeValue = DateTime.get_UtcNow()
# 公式
sheet.Range.Text = "公式示例"
sheet.Range.NumberValue = 1234.56
sheet.Range.NumberValue = 6543.21
sheet.Range.Formula = "=SUM(E5:F5)"
# 文本
sheet.Range.Text = "文本示例"
sheet.Range.Text = "示例文本"
# 布尔值
sheet.Range.Text = "布尔示例"
sheet.Range.BooleanValue = True
sheet.AllocatedRange.Style.Font.FontName = "微软雅黑"
sheet.AllocatedRange.AutoFitColumns()
workbook.SaveToFile("output/value_types.xlsx", ExcelVersion.Version2016)常用属性:
[*]Value – 一般值,适合文本或混合内容。
[*]NumberValue – 数字值,保证格式和计算正确。
[*]DateTimeValue – 日期时间值。
[*]Formula – 设置公式,实现动态计算。
[*]BooleanValue – 布尔值 True/False。
[*]Text – 单元格显示文本。
效果示例:
在写入 Excel 时应用格式设置
为了让 Excel 报表更清晰、专业,可以在写入数据的同时应用格式。本节展示如何通过样式、数字格式和行列尺寸调整来提升可读性。
应用单元格样式
可以为单元格设置字体、边框、背景色等样式:
from spire.xls import Workbook, Color, FontUnderlineType, ExcelVersion, BordersLineType, LineStyleType
workbook = Workbook()
sheet = workbook.Worksheets
# 表头
sheet.Range["A1"].Value = "产品"
sheet.Range["B1"].Value = "类别"
sheet.Range["C1"].Value = "单价"
sheet.Range["D1"].Value = "数量"
sheet.Range["E1"].Value = "合计"
# 数据
sheet.Range["A2"].Value = "华为笔记本"
sheet.Range["B2"].Value = "电脑"
sheet.Range["C2"].NumberValue = 5800.00
sheet.Range["D2"].NumberValue = 1
sheet.Range["E2"].Formula = "=C2*D2"
sheet.Range["A3"].Value = "小米手机"
sheet.Range["B3"].Value = "手机"
sheet.Range["C3"].NumberValue = 3200.00
sheet.Range["D3"].NumberValue = 1
sheet.Range["E3"].Formula = "=C3*D3"
# 设置表头样式
header = sheet.Range["A1:E1"]
header.Style.Font.FontName = "微软雅黑"
header.Style.Font.Size = 12.0
header.Style.Font.IsBold = True
header.Style.Font.Underline = FontUnderlineType.Single
header.Style.Interior.Color = Color.get_LightGray()
header.Style.Borders.LineStyle = LineStyleType.Medium核心属性:
[*]Style.Font – 控制字体样式(加粗、下划线等)。
[*]Interior.Color – 单元格背景色。
[*]Borders.LineStyle – 单元格边框样式。
样式能突出重点区域,增强可读性。
设置数字格式
通过 NumberFormat,可以将数字显示为货币、百分比等格式:
# 设置数字格式
sheet.Range["C2:C3"].NumberFormat = "¥#,##0.00" # 货币格式
sheet.Range["D2:D3"].NumberFormat = "0" # 整数格式
sheet.Range["E2:E3"].NumberFormat = "¥#,##0.00"要点:
[*]NumberFormat – 控制数字显示方式,数据本身不变。
[*]可定义符号、小数位、百分比等展示规则。
适当的数字格式能让财务数据更直观、更专业。
调整列宽和行高
为了保证内容完整显示,可以自动调整或固定行列尺寸:
# 自动调整列宽和行高
for col in range(1, 5):
sheet.AutoFitColumn(col)
for row in range(1, 3):
sheet.AutoFitRow(row)
# 指定区域自动调整
#sheet.Range["A1:E3"].AutoFitColumns()
#sheet.Range["A1:E3"].AutoFitRows()
# 固定列宽和行高
sheet.Columns.Width = 150
sheet.Rows.Height = 30
workbook.SaveToFile("output/formatted_excel.xlsx", ExcelVersion.Version2016)关键点:
[*]AutoFitColumn / AutoFitRow – 自动调整单列/单行。
[*]AutoFitColumns / AutoFitRows – 调整指定区域。
[*]Width / Height – 手动设置固定宽高。
灵活使用自动调整和固定尺寸,可以保证报表既整齐又美观。
效果示例:
使用 Python 管理 Excel 多工作表
在 Excel 中,将数据分类存放在多个工作表中能让结构更清晰。例如,可以为销售、采购、库存等创建不同工作表。本节演示如何 创建、访问和管理多个工作表:
from spire.xls import Workbook, ExcelVersion
workbook = Workbook()
sheet = workbook.Worksheets
sheet.Name = "销售数据"
sheet1 = workbook.Worksheets["Sheet2"]
sheet1.Name = "采购数据"
sheet2 = workbook.Worksheets.Add("库存数据")
sheet2.Range["A1"].Value = "产品ID"
sheet2.Range["B1"].Value = "库存数量"
sheet2.Range["A2"].Value = "P001"
sheet2.Range["B2"].NumberValue = 100
sheet2.Range["A3"].Value = "P002"
sheet2.Range["B3"].NumberValue = 50
workbook.SaveToFile("output/multi_sheet.xlsx", ExcelVersion.Version2016)主要方法:
[*]Worksheets – 按索引访问工作表。
[*]Worksheets["单元格名称"] – 按单元格名称(如 A1)访问,更直观。
[*]Worksheets.Add("名称") – 新增工作表,适合分类存储不同数据。
合理管理多个工作表能让数据更有条理。
生成 Excel 文件效果:
使用 Python 写入 Excel 的最佳实践
在写入 Excel 文件时,建议遵循以下原则:
[*]使用描述性表名,如 “Sales_2024” 而非 “Sheet1”。
[*]批量写入大数据集,避免逐单元格操作,提高性能。
[*]保持格式一致,特别是表头、合计列。
[*]利用公式,保持动态计算。
[*]验证数据类型,避免在图表或公式中出错。
[*]选择合适文件格式:现代场景用 .xlsx,兼容性需求用 .xls。
[*]逻辑组织工作表,便于导航和管理。
遵循这些规范,能生成更专业、可复用的报表。
总结
使用 Python 自动化写入 Excel,可以大幅提升报表生成效率。通过创建工作簿、批量写入数据、应用样式、管理多工作表以及支持多种数据类型,开发者可以轻松生成一致、准确且专业的 Excel 文件。
Python 写入 Excel 常见问题
Q1: Python 可以写入已有 Excel 文件吗?
可以。Python 能加载已有文件,在保留原有数据的同时追加或修改内容。
Q2: 如何高效处理大数据集?
批量写入多行数据,并在插入时尽量减少格式操作,可以保证性能。
Q3: 可以在 Excel 文件中添加公式吗?
可以。支持输入公式(如 =SUM()),并保持动态计算。
Q4: Spire.XLS for Python 支持操作哪些 Excel 格式?
Spire.XLS for Python 支持保存为 .xlsx、.xls、CSV,还可以导出为 PDF,满足不同兼容性需求。
Spire.XLS for Python试用下载,请联系E-iceblue-Spire授权代理商慧都科技
技术交流Q群(125237868)
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
页:
[1]