翻译|使用教程|编辑:张蓉|2025-05-26 10:33:50.543|阅读 36 次
概述:在基于 Python 的数据分析师、报告生成和自动化工作流程中,高效地写入 Excel 文件至关重要。在众多可用的库中,Spire.XLS for Python 是一款功能强大且独立于 Excel 的解决方案,它支持图表、公式、条件格式、加密以及处理大型数据集等复杂功能。
# 界面/图表报表/文档/IDE等千款热门软控件火热销售中 >>
相关链接:
本指南将展示如何使用 Spire.XLS for Python 通过 Python 写入 XLSX 文件,内容涵盖从基础写入到高级格式设置的细节 —— 全程使用这款可靠且适用于企业级场景的 Excel 库。
pip install spire.xls免费版本(适用于较小文件和基础用例):
pip install spire.xls.free基本 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 文件:
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 文件:
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()输出的文件:
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文件:
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()
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()
慧都科技是一家行业数字化解决方案公司,长期专注于软件、油气与制造行业。公司基于深入的业务理解与管理洞察,以系统化的业务建模驱动技术落地,帮助企业实现智能化运营与长期竞争优势。在软件工程领域,我们提供开发控件、研发管理、代码开发、部署运维等软件开发全链路所需的产品,提供正版授权采购、技术选型、个性化维保等服务,帮助客户实现技术合规、降本增效与风险可控。慧都科技E-iceblue的官方授权代理商,提供E-iceblue系列产品免费试用,咨询,正版销售等于一体的专业化服务。E-iceblue旗下Spire系列产品是国产文档处理领域的优秀产品,支持国产化,帮助企业高效构建文档处理的应用程序。
欢迎下载|体验更多E-iceblue产品
获取更多信息请咨询 ;技术交流Q群(125237868)
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@dpuzeg.cn