当前位置: 首页 > news >正文

国产化Excel开发组件Spire.XLS教程:使用 Python 设置 Excel 格式,从基础到专业应用

 

在处理电子表格时,数据本身固然重要,但可读性同样关键。一个拥有优秀格式设置的 Excel 文件不仅更易于分析,还能方便展示和分享。与在 Excel 中手动调整样式相比,使用 Python 进行 Excel 格式设置 并自动化操作,能够帮助我们节省宝贵的时间。

本文将演示如何借助 Spire.XLS for Python 通过 Python 设置 Excel 样式。我们会讲解基础样式、进阶格式设置和实际应用场景,同时介绍实现 Python 进行 Excel 格式设置的核心类和属性。

Spire.XLS for Python试用下载,请联系E-iceblue Spire官方授权代理商慧都科技

获取更多信息请咨询慧都在线客服  ;技术交流Q群(125237868)

为什么使用 Python 设置 Excel 表格格式

手动格式化 Excel 十分耗时,尤其是在处理大数据或动态生成报表时。借助 Python Excel 格式设置,你可以:

  • 在多个工作簿中统一应用一致的样式。
  • 自动完成字体、边框、颜色等重复性任务。
  • 通过代码生成带格式的报表,用于商业或科研。
  • 提高准确性和美观度,同时节省大量时间。

利用 Python,你可以快速编写脚本,为 Excel 表格应用专业的样式。接下来我们先来配置环境。

环境和项目搭建

学习本教程前,需要先 安装 Spire.XLS for Python,这是一个专门用于处理 Excel 文件的库,支持创建、读取、修改和格式化 Excel 文档。

Spire.XLS for Python试用下载,请联系E-iceblue Spire官方授权代理商慧都科技

获取更多信息请咨询慧都在线客服  ;技术交流Q群(125237868)

安装 Spire.XLS for Python

通过 pip 安装:

pip install Spire.XLS

在 Python 脚本中导入:

from spire.xls import *

创建或加载 Excel 工作簿

在开始格式化之前,需要准备一个工作簿。

新建工作簿:

workbook = Workbook()
sheet = workbook.Worksheets[0]

或加载已有文件:

workbook = Workbook()
workbook.LoadFromFile("输入文件.xlsx")
sheet = workbook.Worksheets[0]

格式化完成后,保存结果:

workbook.SaveToFile("output/格式设置结果.xlsx", ExcelVersion.Version2016)

有了工作簿,我们就可以进入实际的格式设置示例了。

用 Python 设置 Excel 表格基础格式

在学习高级操作前,先掌握 Excel 的基础格式化功能非常重要。这些基本技巧(字体、对齐、边框、背景颜色、列宽和行高调整)是创建清晰、专业电子表格的基石。熟练后可以组合并扩展这些方法,构建更复杂的样式。

1. 设置字体

修改字体是 Excel 样式中最常见的任务。在 Spire.XLS for Python 中,可以通过 CellRange.Style.Font 对象来控制字体名称、大小、颜色以及加粗、斜体、下划线等效果。

cell = sheet.Range[2, 2]
cell.Text = "Python Excel 格式设置示例"cell.Style.Font.FontName = "微软雅黑"
cell.Style.Font.Size = 14
cell.Style.Font.Color = Color.get_Blue()
cell.Style.Font.IsBold = True

这样即可直接修改单元格文字的显示效果。

2. 对齐与自动换行

通过 HorizontalAlignment 和 VerticalAlignment 属性可以设置单元格的水平和垂直对齐方式,WrapText 属性则能让长文本自动换行。

cell = sheet.Range[4, 2]
cell.Text = "这是一个居中并自动换行的示例文本"cell.Style.HorizontalAlignment = HorizontalAlignType.Center
cell.Style.VerticalAlignment = VerticalAlignType.Center
cell.Style.WrapText = True

这样可以保持文本居中且易于阅读。

3. 添加边框

单元格边框可通过 Borders 集合来设置,可以分别指定边框样式和颜色。

cell = sheet.Range[6, 2]
cell.Text = "边框示例"cell.Style.Borders[BordersLineType.EdgeBottom].LineStyle = LineStyleType.Thin
cell.Style.Borders[BordersLineType.EdgeBottom].Color = Color.get_Black()

这样会在单元格下方添加一条黑色细线。

4. 设置背景颜色

通过 Style.Color 可以为单元格添加背景色,常用于突出标题或重点数据。

cell = sheet.Range[8, 2]
cell.Text = "高亮单元格"
cell.Style.Color = Color.get_Yellow()

这样单元格会显示为黄色背景。

5. 调整列宽与行高

调整列宽和行高可以避免文字重叠或留有过多空白。

# 设置指定列宽
sheet.Columns[1].ColumnWidth = 20
# 设置指定行高
sheet.Rows[7].RowHeight = 20

此外,还可以自动调整行列宽度以适应内容:

  • 使用 Worksheet.AutoFitColumn(columnIndex) 或 Worksheet.AutoFitRow(rowIndex) 调整单列或单行。
  • 使用 CellRange.AutoFitColumns() 或 CellRange.AutoFitRows() 调整选定区域内的所有列或行。

这样可确保表格数据整齐且易读。

基础格式设置效果预览

下图展示了字体、对齐、边框、背景色、列宽和行高调整的效果:

此外,还可以自定义数字、日期、货币等数据格式。

Python 中进行 Excel 扩展格式设置

除了逐个单元格设置,还可以通过单元格区域和可复用样式来实现更高效的格式化。主要涉及 CellRange 对象(用于合并、调整区域大小)和 Workbook.Styles 集合(用于创建自定义样式)。

1. 合并单元格

常用于生成报表标题或跨列的分区标题。

range = sheet.Range[2, 2, 2, 4]
range.Merge()
range.Text = "季度销售报表"
range.Style.HorizontalAlignment = HorizontalAlignType.Center
range.RowHeight = 30

这样可以将 B2:D2 合并为一个单元格并设置居中。

2. 应用内置样式

Excel 自带一些预设样式,可以快速应用。

range.BuiltInStyle = BuiltInStyles.Heading1

这样会应用 标题 1 样式,无需手动设置字体和边框。

3. 创建并应用自定义样式

当需要在多个单元格或表格中使用同一格式时,可以创建自定义样式。

# 创建自定义样式
custom_style = workbook.Styles.Add("自定义样式")
custom_style.Font.FontName = "宋体"
custom_style.Font.Size = 12
custom_style.Font.Color = Color.get_DarkGreen()
custom_style.Borders[BordersLineType.EdgeTop].LineStyle = LineStyleType.MediumDashDot# 应用样式
cell = sheet.Range[4, 2]
cell.Text = "应用了自定义样式"
cell.Style = custom_style

这样能提升格式管理效率,尤其在处理大数据时。

扩展格式设置效果预览

下图展示了合并单元格、内置样式和自定义样式的效果:

Python 设置 Excel 样式的关键 API

学习了基础和高级示例后,我们再回顾一下 核心类、属性和方法。理解这些内容有助于写出更灵活、可维护的脚本。

下表总结了 Python 格式化 Excel 时最常用的 API,可作为速查表:

 

 

掌握这些 API 后,就能以结构化和灵活的方式完成常见格式化任务,确保报表专业美观且易于维护。

实例应用:使用 Python 创建 Excel 报表

接下来,我们结合所学来生成一个 年度销售报表,包含结构化数据、地区分类和高级格式,让报表清晰、专业。

from spire.xls import *workbook = Workbook()
sheet = workbook.Worksheets[0]
sheet.Name = "销售报表"# 报表标题
title = sheet.Range[1, 1, 1, 7]
title.Merge()
title.Text = "2024 年度销售报表"
title.Style.Font.IsBold = True
title.Style.Font.Size = 16
title.Style.HorizontalAlignment = HorizontalAlignType.Center
title.Style.Color = Color.get_LightGray()
title.RowHeight = 30# 数据
data = [["产品", "地区", "第一季度", "第二季度", "第三季度", "第四季度", "合计"],["笔记本", "北方", 1200, 1500, 1300, 1600, 5600],["笔记本", "南方", 1000, 1200, 1100, 1300, 4600],["平板", "北方", 800, 950, 1000, 1200, 3950],["平板", "南方", 700, 850, 900, 1000, 3450],["手机", "北方", 2000, 2200, 2100, 2500, 8800],["手机", "南方", 1800, 1900, 2000, 2200, 7900],["配件", "全部", 600, 750, 720, 900, 2970],["", "", "", "", "", "总计", 39370]
]for r in range(len(data)):for c in range(len(data[r])):sheet.Range[r+2, c+1].Text = str(data[r][c])# 表头格式
header = sheet.Range[2, 1, 2, 7]
header.Style.Font.IsBold = True
header.Style.Color = Color.get_LightBlue()
header.Style.HorizontalAlignment = HorizontalAlignType.Center
header.Style.Borders[BordersLineType.EdgeBottom].LineStyle = LineStyleType.Thin# 数值列设置为货币
for row in range(3, 11):for col in range(3, 8):cell = sheet.Range[row, col]if cell.Text.isdigit():cell.NumberValue = float(cell.Text)cell.NumberFormat = "¥#,##0"# 高亮总计
grand_total = sheet.Range[10, 7]
grand_total.Style.Color = Color.get_LightYellow()
grand_total.Style.Font.IsBold = True# 冻结首行和前两列
sheet.FreezePanes(2, 3)# 设置字体名以便自动对齐
sheet.AllocatedRange.Style.Font.FontName = "微软雅黑"# 自动调整列宽
sheet.AllocatedRange.AutoFitColumns()workbook.SaveToFile("output/年度销售报表.xlsx", ExcelVersion.Version2016)

此脚本整合了合并标题、加粗表头、货币格式、总计高亮、冻结窗格等多种技巧,使报表既清晰又美观,特别适合商业和财务数据展示。

最终生成的报表效果如下:

结论

使用 Python 格式化 Excel 是一种高效的报表自动化方式,既能节省时间,又能保证数据展示的专业性。通过结合基础样式和高级技巧(如自定义样式和列宽调整),你可以轻松创建清晰、统一的电子表格。

无论是财务报表、科研数据还是商业分析,Python Excel 格式设置 都能帮助你高效完成任务。合理利用样式和属性,让表格不仅包含数据,还能直观传达信息。

Spire.XLS for Python试用下载,请联系E-iceblue Spire官方授权代理商慧都科技

获取更多信息请咨询慧都在线客服  ;技术交流Q群(125237868)

常见问题解答

Q1: 可以用 Python 格式化 Excel 吗?

可以。Python 提供了库来设置字体、颜色、边框、对齐方式、条件格式等。

Q2: Python 中如何进行格式化?

可以使用 Spire.XLS for Python 库,通过代码修改字体、对齐、列宽、合并单元格、应用样式等。

Q3: Python 能编辑 Excel 吗?

可以。Python 不仅能格式化,还能创建、读取、修改和保存 Excel 文件,非常适合动态报表和数据自动化。

Q4: 如何自动化重复的 Excel 样式设置?

可以定义自定义样式或封装函数,将统一的格式应用到多个工作簿和工作表中,从而提高效率并保持一致性。

http://www.wxhsa.cn/company.asp?id=6512

相关文章:

  • 计算机辅助筛选抗菌/抗病毒肽:以SARS-CoV-2为例,解析靶标突破与筛选策略
  • c++国外学习视频心得4-opengl
  • LOJ #3835. 「IOI2022」千岛 题解
  • (附源码)高校拼车管理系统的设计与实现 - 实践
  • Ubuntu取消vim自动对齐
  • AI产品测试学习路径全解析:从业务场景到代码实践
  • 代码随想录算法训练营第一天 | leetcode 704 27 977
  • 中文医学基准测试题库数据集:28万条标准化JSON格式医师考试题目与临床案例分析,覆盖28个医学专业领域,用于医学AI模型训练、临床决策支持系统开发、医学知识问答系统构建、医学教育辅助工具优化
  • 函数计算的云上计费演进:从请求驱动到价值驱动,助力企业走向 AI 时代
  • 【SPIE出版】第五届计算机图形学、人工智能与数据处理国际学术会议
  • 快速边缘块稀疏贝叶斯学习MATLAB实现
  • Kubernetes概述与部署
  • XXII Open Cup : Grand Prix of Southeastern Europe
  • GNSS终端授时方式
  • SpringAI接入DeepSeek大模型实现流式对话
  • 通知语音播报功能,解锁全新体验
  • 使用AI容器镜像部署Qwen大语言模型
  • 【IEEE冠名,香港中文大学(深圳)主办)第五届IEEE能源工程与电力系统国际学术会议(IEEE-EEPS 2025)
  • C#实现Access表格自增ID的重置
  • 运用深度学习模型实现图像的分类
  • 设备ONVIF接入平台EasyCVR私有化视频平台级联到海康平台目录丢失根因定位
  • java 通过模板输出word
  • 【设计模式】单例模式 - 实践
  • ubuntu服务器docker容器启动java项目
  • 【2025最新】企业信息模糊搜索API设计与实践指南
  • 一键搞定本土认证难题,AnalyticDB版Supabase助力AI应用实现支付宝微信登录
  • sumifs根据条件求和
  • ubuntu服务器docker安装部署ngix
  • c++右值引用和移动语义
  • 彩笔运维勇闯机器学习--梯度下降法