翻译|行业资讯|编辑:吉炜炜|2025-09-22 14:48:31.200|阅读 46 次
概述:Excel 是最常用的数据整理、分析和展示工具之一。在本文中,我们将介绍如何借助Spire.XLS使用 Python 将数据写入 Excel 文件,内容涵盖结构化数据插入、格式设置以及数据导出。文中示例所用库支持在代码中直接创建并自定义工作簿。
# 界面/图表报表/文档/IDE等千款热门软控件火热销售中 >>
相关链接:
Excel 是最常用的数据整理、分析和展示工具之一。无论是财务报表还是运营仪表盘,很多场景都需要将数据导出到 Excel,以便阅读和共享。相比手动输入,通过 Python 自动化写入 Excel 文件 能让处理过程更高效、更可靠,也具备更好的扩展性。
在本文中,我们将介绍如何借助Spire.XLS使用 Python 将数据写入 Excel 文件,内容涵盖结构化数据插入、格式设置以及数据导出。文中示例所用库支持在代码中直接创建并自定义工作簿。
获取更多信息请咨询 ;技术交流Q群(125237868)
在 Python 中写入 Excel 文件,需要使用支持创建、加载和保存工作簿的库。Spire.XLS for Python 提供完整的 API,可以轻松实现自动化报表生成和数据处理。
使用 pip 安装:
pip install spire.xls
安装完成后,可以通过以下三种核心操作来处理 Excel 文件:
这些操作构成了后续写入数据、设置格式和管理多工作表的基础。
from spire.xls import Workbook, ExcelVersion workbook = Workbook() workbook.LoadFromFile("Sample.xlsx") sheet = workbook.Worksheets[0] # 添加新行(中文示例) 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)
在实际业务中,可能需要新建 Excel 文件、更新现有报表,或者写入不同类型的数据(如文本、数字、日期和公式)。下面展示了在这些常见场景下,如何高效地 用 Python 在 Excel 中写入和管理数据。
如果需要在已有 Excel 报表中追加新信息,例如新增销售记录、库存更新或附加数据行,可以通过以下方式在不覆盖原有内容的情况下插入数据并保存:
关键点:
这种方式能让报表在不丢失原始内容的情况下持续更新。
示例效果:
对于大规模数据,逐行逐列写入效率低,推荐一次性写入整个数据集。这样不仅节省时间,还能保证数据在表格中的一致性:
from spire.xls import Workbook, ExcelVersion # 创建新工作簿 workbook = Workbook() sheet = workbook.Worksheets[0] orders = [ ["订单号", "客户", "产品", "数量", "价格", "状态"], [1001, "张三", "笔记本电脑", 2, 5800.00, "已发货"], [1002, "李四", "显示器", 1, 1200.00, "待处理"], [1003, "王五", "键盘", 5, 80.00, "已送达"], [1004, "赵六", "鼠标", 3, 50.00, "已发货"], [1005, "钱七", "平板电脑", 1, 2600.00, "待处理"] ] 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[row_index, col_index].NumberValue = value else: sheet.Range[row_index, col_index].Value = value workbook.SaveToFile("output/orders.xlsx", ExcelVersion.Version2016)
要点:
批量写入非常适合导出数据库查询结果或生成运营报表。
效果示例:
Excel 支持多种数据类型,例如文本、数字、日期、公式和布尔值。使用合适的属性和方法可以保证数据准确存储和展示:
from spire.xls import Workbook, ExcelVersion, DateTime, TimeSpan workbook = Workbook() sheet = workbook.Worksheets[0] # 一般值 sheet.Range[2, 2].Text = "常规示例" sheet.Range[2, 3].Value = "示例123" # 数字 sheet.Range[3, 2].Text = "数字示例" sheet.Range[3, 3].NumberValue = 1234.56 sheet.Range[3, 3].NumberFormat = "0.000" # 日期 sheet.Range[4, 2].Text = "日期示例" sheet.Range[4, 3].DateTimeValue = DateTime.get_UtcNow() # 公式 sheet.Range[5, 2].Text = "公式示例" sheet.Range[5, 5].NumberValue = 1234.56 sheet.Range[5, 6].NumberValue = 6543.21 sheet.Range[5, 3].Formula = "=SUM(E5:F5)" # 文本 sheet.Range[6, 2].Text = "文本示例" sheet.Range[6, 3].Text = "示例文本" # 布尔值 sheet.Range[7, 2].Text = "布尔示例" sheet.Range[7, 3].BooleanValue = True sheet.AllocatedRange.Style.Font.FontName = "微软雅黑" sheet.AllocatedRange.AutoFitColumns() workbook.SaveToFile("output/value_types.xlsx", ExcelVersion.Version2016)
常用属性:
效果示例:
为了让 Excel 报表更清晰、专业,可以在写入数据的同时应用格式。本节展示如何通过样式、数字格式和行列尺寸调整来提升可读性。
可以为单元格设置字体、边框、背景色等样式:
from spire.xls import Workbook, Color, FontUnderlineType, ExcelVersion, BordersLineType, LineStyleType workbook = Workbook() sheet = workbook.Worksheets[0] # 表头 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[BordersLineType.EdgeRight].LineStyle = LineStyleType.Medium
核心属性:
样式能突出重点区域,增强可读性。
通过 NumberFormat,可以将数字显示为货币、百分比等格式:
# 设置数字格式 sheet.Range["C2:C3"].NumberFormat = "¥#,##0.00" # 货币格式 sheet.Range["D2:D3"].NumberFormat = "0" # 整数格式 sheet.Range["E2:E3"].NumberFormat = "¥#,##0.00"
要点:
适当的数字格式能让财务数据更直观、更专业。
为了保证内容完整显示,可以自动调整或固定行列尺寸:
# 自动调整列宽和行高 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[1].Width = 150 sheet.Rows[1].Height = 30 workbook.SaveToFile("output/formatted_excel.xlsx", ExcelVersion.Version2016)
关键点:
灵活使用自动调整和固定尺寸,可以保证报表既整齐又美观。
效果示例:
在 Excel 中,将数据分类存放在多个工作表中能让结构更清晰。例如,可以为销售、采购、库存等创建不同工作表。本节演示如何 创建、访问和管理多个工作表:
from spire.xls import Workbook, ExcelVersion workbook = Workbook() sheet = workbook.Worksheets[0] 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)
主要方法:
合理管理多个工作表能让数据更有条理。
生成 Excel 文件效果:
在写入 Excel 文件时,建议遵循以下原则:
遵循这些规范,能生成更专业、可复用的报表。
使用 Python 自动化写入 Excel,可以大幅提升报表生成效率。通过创建工作簿、批量写入数据、应用样式、管理多工作表以及支持多种数据类型,开发者可以轻松生成一致、准确且专业的 Excel 文件。
可以。Python 能加载已有文件,在保留原有数据的同时追加或修改内容。
批量写入多行数据,并在插入时尽量减少格式操作,可以保证性能。
可以。支持输入公式(如 =SUM()),并保持动态计算。
Spire.XLS for Python 支持保存为 .xlsx、.xls、CSV,还可以导出为 PDF,满足不同兼容性需求。
————————————————————————————————————————
关于慧都科技:
慧都科技是一家行业数字化解决方案公司,长期专注于软件、油气与制造行业。公司基于深入的业务理解与管理洞察,以系统化的业务建模驱动技术落地,帮助企业实现智能化运营与长期竞争优势。在软件工程领域,我们提供开发控件、研发管理、代码开发、部署运维等软件开发全链路所需的产品,提供正版授权采购、技术选型、个性化维保等服务,帮助客户实现技术合规、降本增效与风险可控。慧都科技E-iceblue的官方授权代理商,提供E-iceblue系列产品免费试用,咨询,正版销售等于一体的专业化服务。E-iceblue旗下Spire系列产品是国产文档处理领域的优秀产品,支持国产化,帮助企业高效构建文档处理的应用程序。
欢迎下载|体验更多E-iceblue产品
获取更多信息请咨询 ;技术交流Q群(125237868)
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@ke049m.cn
文章转载自:慧都网