世俱杯 2025

如何用 Python 编写 XLSX 文件 ?| Spire.XLS

翻译|使用教程|编辑:张蓉|2025-05-26 10:33:50.543|阅读 36 次

概述:在基于 Python 的数据分析师、报告生成和自动化工作流程中,高效地写入 Excel 文件至关重要。在众多可用的库中,Spire.XLS for Python 是一款功能强大且独立于 Excel 的解决方案,它支持图表、公式、条件格式、加密以及处理大型数据集等复杂功能。

# 界面/图表报表/文档/IDE等千款热门软控件火热销售中 >>

相关链接:

在基于 Python 的数据分析师、报告生成和自动化工作流程中,高效地写入 Excel 文件至关重要。在众多可用的库中,Spire.XLS for Python 是一款功能强大且独立于 Excel 的解决方案,它支持图表、公式、条件格式、加密以及处理大型数据集等复杂功能。

本指南将展示如何使用 Spire.XLS for Python 通过 Python 写入 XLSX 文件,内容涵盖从基础写入到高级格式设置的细节 —— 全程使用这款可靠且适用于企业级场景的 Excel 库。

Spire.XLS for Python试用下载

为何选择 Spire.XLS for Python?

Spire.XLS for Python 是一款功能丰富的库,允许开发人员无需借助 Microsoft Office 即可读取、写入和操作 Excel 文件。它以高性能和灵活性为设计核心,非常适合自动化任务和大规模报告生成。
核心优势
  • 一体化 API:支持读写 .xls 和 .xlsx 文件、格式化单元格、插入公式、文件转换等功能。
  • 跨平台支持:提供 .NET、Java、Python 版本,兼容基于云的环境。
  • 高级 Excel 功能:支持图表、数据透视表、条件格式和文件保护。
  • 可靠的文档与支持:提供详尽的 API 参考、教程、开发者论坛和技术支持团队。
  • 免费版本可用:适合无需授权成本的轻量级 Excel 文件处理场景。
Spire.XLS for Python 的安
您可以根据需求安装 Spire.XLS 的完整版本或免费版本。
完整版本
pip install spire.xls
免费版本(适用于较小文件和基础用例)
pip install spire.xls.free
基本 XLSX 文件写入步
使用 Python 写入 Excel 文件时,请遵循以下基本步骤:
1.通过Workbook()构造函数创建新的 Excel 工作簿。
2.(可选)使用Workbook.LoadFromFile()方法加载现有 XLSX 文件。
3.通过Workbook.Worksheets.Add()方法或get_Item()方法添加或获取工作表。
4.通过Worksheet.Range.get_Item()方法访问单元格。
 5.使用CellRange类下的属性(如Value、Text、NumberValue等)写入数据。
6.使用Workbook.SaveToFile()方法保存工作簿。
基本 XLSX 文件写入代码示例
Python:
from spire.xls import Workbook, ExcelVersion

# Create a Workbook object
workbook = Workbook()

# Get the first default worksheet
sheet = workbook.Worksheets.get_Item(0)

# Write a string to the cell B2
sheet.Range.get_Item(2, 2).Text = "Hello World!"

# Save the workbook
workbook.SaveToFile("output/BasicWorkbook.xlsx", ExcelVersion.Version2016)
workbook.Dispose()
输出的 XLSX 文件:
xlsx文件

使用 Python 向 XLSX 文件写入不同类型的数据

Spire.XLS 在 CellRange 类中提供了一系列属性,支持将多种数据类型直接写入 Excel 单元格,例如字符串、日期时间值、布尔值和数值。这使得开发人员能够轻松地将类型化值直接写入 XLSX 文件的单元格中。
支持的数据类型及其属性
支持的数据类型及其属性

代码示例 – 写入多种数据类型
from spire.xls import Workbook, ExcelVersion, DateTime, HorizontalAlignType, Stream, ImageFormatType

# Create a Workbook object
workbook = Workbook()

# Get the first default worksheet
sheet = workbook.Worksheets.get_Item(0)

# Write text to the cell B1
sheet.Range.get_Item(1, 2).Text = "Plain Text"
# Write a number to the cell B2
sheet.Range.get_Item(2, 2).NumberValue = 123456
sheet.Range.get_Item(2, 2).NumberFormat = "#,##0.00"
# Write a date to the cell B3
sheet.Range.get_Item(3, 2).DateTimeValue = DateTime.get_UtcNow()
# Write a boolean value to the cell B4
sheet.Range.get_Item(4, 2).BooleanValue = True
# Write a formula to the cell B5
sheet.Range.get_Item(5, 2).Formula = "B2/2"
# Write an HTML string to the cell B7
sheet.Range.get_Item(6, 2).HtmlString = "<p><span style='color: blue; font-size: 18px;'>Blue font 18 pixel size</span></p>"
# Write a regular value to the cell B7
sheet.Range.get_Item(7, 2).Value = "Regular Value"
# Insert a picture at the cell B8
with open("Logo.png", "rb") as f:
    imageBytes = f.read()
stream = Stream(imageBytes)
sheet.Pictures.Add(8, 2, stream, ImageFormatType.Png)

# Set basic formatting
sheet.Range.get_Item(1, 2, 8, 2).HorizontalAlignment = HorizontalAlignType.Left
sheet.AutoFitColumn(2)
for i in range(sheet.Range.Columns.Count):
    for j in range(sheet.Range.Rows.Count):
        sheet.Range.get_Item(j + 1, i + 1).HorizontalAlignment = HorizontalAlignType.Left

# Save the workbook to an XLSX file
workbook.SaveToFile("output/WriteDataExcelCell.xlsx", ExcelVersion.Version2016)
workbook.Dispose()
输出的 XLSX 文件:
输出的xlsx文件

使用 Python 为 Excel 单元格应用格式和样式

格式设置在使 Excel 报表清晰专业方面起着关键作用。借助 Spire.XLS for Python,您可以使用字体、颜色、对齐方式、数字格式和内置样式自定义单元格外观。这些工具有助于增强可读性,并以整洁一致的方式呈现数据,非常适合报表生成和自动化场景。
以下代码示例演示如何使用 Python 对工作表进行格式设置。
使用字体、颜色、边框和对齐方式设置单元格格式
from spire.xls import Workbook, Color, LineStyleType, BordersLineType, HorizontalAlignType

# Create a Workbook object
workbook = Workbook()

# Load the XLSX file
workbook.LoadFromFile("Sample.xlsx")

# Get the first worksheet
sheet = workbook.Worksheets.get_Item(0)

# Set the font styles
# Header row
sheet.Rows.get_Item(0).Style.Font.FontName = "Times New Roman"
sheet.Rows.get_Item(0).Style.Font.Size = 14
sheet.Rows.get_Item(0).Style.Font.IsBold = True
# Data rows
for i in range(1, sheet.Rows.Count):
    sheet.Rows.get_Item(i).Style.Font.FontName = "Arial"
    sheet.Rows.get_Item(i).Style.Font.Size = 12

# Set the cell colors
# Header row
sheet.Rows.get_Item(0).Style.Color = Color.FromRgb(200, 245, 230)
# Data rows
for i in range(1, sheet.Rows.Count):
    sheet.Rows.get_Item(i).Style.Color = Color.FromRgb(240, 255, 250)

# Set the border styles
# Header row
sheet.Rows.get_Item(0).Style.Borders.get_Item(BordersLineType.EdgeBottom).LineStyle = LineStyleType.Thick
sheet.Rows.get_Item(0).Style.Borders.get_Item(BordersLineType.EdgeBottom).Color = Color.get_White()
# Data rows
for i in range(1, sheet.Rows.Count):
    sheet.Rows.get_Item(i).BorderInside(LineStyleType.Thin, Color.get_Black())

# Set the alignment
# Header row
sheet.Rows.get_Item(0).Style.HorizontalAlignment = HorizontalAlignType.Center
# Data rows
for i in range(1, sheet.Rows.Count):
    sheet.Rows.get_Item(i).Style.HorizontalAlignment = HorizontalAlignType.Left

# Auto-fit the column width
for i in range(sheet.Columns.Count):
    sheet.AutoFitColumn(i + 1)

# Save the Excel file
workbook.SaveToFile("output/FormatXLSXFile.xlsx")
workbook.Dispose()
输出的文件:
输出的文件2

使用 Python 为 Excel 单元格应用格式和样

格式设置在让 Excel 报表清晰专业方面起着关键作用。借助 Spire.XLS for Python,您可以使用字体、颜色、对齐方式、数字格式和内置样式自定义单元格外观。这些工具有助于增强可读性,并以精致一致的方式呈现数据 —— 非常适合报表生成和自动化场景。

以下代码示例展示如何使用 Python 对工作表进行格式设置。

使用字体、颜色、边框和对齐方式设置单元格格式
from spire.xls import Workbook, Color, LineStyleType, BordersLineType, HorizontalAlignType

# Create a Workbook object
workbook = Workbook()

# Load the XLSX file
workbook.LoadFromFile("Sample.xlsx")

# Get the first worksheet
sheet = workbook.Worksheets.get_Item(0)

# Set the font styles
# Header row
sheet.Rows.get_Item(0).Style.Font.FontName = "Times New Roman"
sheet.Rows.get_Item(0).Style.Font.Size = 14
sheet.Rows.get_Item(0).Style.Font.IsBold = True
# Data rows
for i in range(1, sheet.Rows.Count):
    sheet.Rows.get_Item(i).Style.Font.FontName = "Arial"
    sheet.Rows.get_Item(i).Style.Font.Size = 12

# Set the cell colors
# Header row
sheet.Rows.get_Item(0).Style.Color = Color.FromRgb(200, 245, 230)
# Data rows
for i in range(1, sheet.Rows.Count):
    sheet.Rows.get_Item(i).Style.Color = Color.FromRgb(240, 255, 250)

# Set the border styles
# Header row
sheet.Rows.get_Item(0).Style.Borders.get_Item(BordersLineType.EdgeBottom).LineStyle = LineStyleType.Thick
sheet.Rows.get_Item(0).Style.Borders.get_Item(BordersLineType.EdgeBottom).Color = Color.get_White()
# Data rows
for i in range(1, sheet.Rows.Count):
    sheet.Rows.get_Item(i).BorderInside(LineStyleType.Thin, Color.get_Black())

# Set the alignment
# Header row
sheet.Rows.get_Item(0).Style.HorizontalAlignment = HorizontalAlignType.Center
# Data rows
for i in range(1, sheet.Rows.Count):
    sheet.Rows.get_Item(i).Style.HorizontalAlignment = HorizontalAlignType.Left

# Auto-fit the column width
for i in range(sheet.Columns.Count):
    sheet.AutoFitColumn(i + 1)

# Save the Excel file
workbook.SaveToFile("output/FormatXLSXFile.xlsx")
workbook.Dispose()
输出的XLSX文件:
输出的文件3
为单元格设置数字格式
from spire.xls import Workbook, ExcelVersion

# Create a Workbook instance
workbook = Workbook()

# Get the first worksheet
sheet = workbook.Worksheets.get_Item(0)

# Format a cell as number
sheet.Range.get_Item(1, 2).NumberValue = 1234567890
sheet.Range.get_Item(1, 2).NumberFormat = "[Red]#,##0;[Green]#,##0"

# Format a cell as date
sheet.Range.get_Item(2, 2).NumberValue = 45562
sheet.Range.get_Item(2, 2).NumberFormat = "yyyy-mm-dd"

# Format a cell as time
sheet.Range.get_Item(3, 2).NumberValue = 45562
sheet.Range.get_Item(3, 2).NumberFormat = "hh:mm:ss"

# Format a cell as currency
sheet.Range.get_Item(4, 2).NumberValue = 1234567890
sheet.Range.get_Item(4, 2).NumberFormat = "_($* #,##0.00_);_($* (#,##0.00);_($* ""-""??_);_(@_)"

# Format a cell as percentage
sheet.Range.get_Item(5, 2).NumberValue = 0.1234567890
sheet.Range.get_Item(5, 2).NumberFormat = "0.00%"

# Format a cell as fraction
sheet.Range.get_Item(6, 2).NumberValue = 0.1234567890
sheet.Range.get_Item(6, 2).NumberFormat = "0.00_ ?"

# Format a cell as scientific number
sheet.Range.get_Item(7, 2).NumberValue = 1234567890
sheet.Range.get_Item(7, 2).NumberFormat = "0.00E+00"

# Auto-fit the column width
for i in range(sheet.Columns.Count):
    sheet.AutoFitColumn(i + 1)

# Save the Excel file
workbook.SaveToFile("output/SetNumberFormat.xlsx", ExcelVersion.Version2016)
workbook.Dispose()

输出的XLSX文件:
输出的文件4
为单元格应用内置样式
from spire.xls import Workbook, BuiltInStyles

# Create a Workbook instance
workbook = Workbook()

# Load the Excel file
workbook.LoadFromFile("Sample.xlsx")

# Get the first worksheet
sheet = workbook.Worksheets.get_Item(0)

# Apply built-in header style to the first row
sheet.Rows.get_Item(0).BuiltInStyle = BuiltInStyles.Heading2

# Apply built-in footer style to the data rows
for i in range(1, sheet.Rows.Count):
    sheet.Rows.get_Item(i).BuiltInStyle = BuiltInStyles.Accent2_20

# Auto-fit the column width
for i in range(sheet.Columns.Count):
    sheet.AutoFitColumn(i + 1)

# Save the Excel file
workbook.SaveToFile("output/ApplyBuiltInStyle.xlsx")
workbook.Dispose()

输出的XLSX文件:
输出的文件5.

结论

在本指南中,我们探讨了如何使用 Spire.XLS 通过 Python 编写 XLSX 文件 —— 从基础写入到格式设置。无论是生成报告、自动化导出数据,还是构建数据驱动的应用程序,Spire.XLS for Python 都为 Excel 文件生成提供了可靠且高效的解决方案。

关于慧都科技

慧都科技是一家行业数字化解决方案公司,长期专注于软件、油气与制造行业。公司基于深入的业务理解与管理洞察,以系统化的业务建模驱动技术落地,帮助企业实现智能化运营与长期竞争优势。在软件工程领域,我们提供开发控件、研发管理、代码开发、部署运维等软件开发全链路所需的产品,提供正版授权采购、技术选型、个性化维保等服务,帮助客户实现技术合规、降本增效与风险可控。慧都科技E-iceblue的官方授权代理商,提供E-iceblue系列产品免费试用,咨询,正版销售等于一体的专业化服务。E-iceblue旗下Spire系列产品是国产文档处理领域的优秀产品,支持国产化,帮助企业高效构建文档处理的应用程序。

欢迎下载|体验更多E-iceblue产品

获取更多信息请咨询 ;技术交流Q群(125237868



标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@dpuzeg.cn


为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP