吴利东 發表於 2025-9-17 11:55:00

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

<p><img src="https://image.evget.com/attachment/keditor/image/20250917/103907_9.png"></p>
<p>&nbsp;</p>
<p>在处理电子表格时,数据本身固然重要,但可读性同样关键。一个拥有优秀格式设置的 Excel 文件不仅更易于分析,还能方便展示和分享。与在 Excel 中手动调整样式相比,使用&nbsp;<strong>Python 进行 Excel 格式设置</strong>&nbsp;并自动化操作,能够帮助我们节省宝贵的时间。</p>
<p>本文将演示如何借助<strong><u>&nbsp;</u></strong><strong><u>Spire.XLS for Python</u></strong><strong><u>&nbsp;</u></strong><strong>通过 Python 设置 Excel 样式</strong>。我们会讲解基础样式、进阶格式设置和实际应用场景,同时介绍实现 Python 进行 Excel 格式设置的核心类和属性。</p>
<p style="text-align: center"><span style="color: rgba(230, 126, 35, 1)"><strong>Spire.XLS for Python试用下载,请联系E-iceblue Spire官方授权代理商慧都科技</strong></span></p>
<p style="text-align: center"><span style="color: rgba(230, 126, 35, 1)"><strong>获取更多信息请咨询<u>慧都在线客服</u>&nbsp;&nbsp;;技术交流Q群(125237868)</strong></span></p>
<h2>为什么使用 Python 设置 Excel 表格格式</h2>
<p>手动格式化 Excel 十分耗时,尤其是在处理大数据或动态生成报表时。借助&nbsp;<strong>Python Excel 格式设置</strong>,你可以:</p>
<ul>
<li>在多个工作簿中统一应用一致的样式。</li>
<li>自动完成字体、边框、颜色等重复性任务。</li>
<li>通过代码生成带格式的报表,用于商业或科研。</li>
<li>提高准确性和美观度,同时节省大量时间。</li>
</ul>
<p>利用 Python,你可以快速编写脚本,为 Excel 表格应用专业的样式。接下来我们先来配置环境。</p>
<h2>环境和项目搭建</h2>
<p>学习本教程前,需要先&nbsp;安装<strong><u>&nbsp;Spire.XLS for Python</u></strong>,这是一个专门用于处理 Excel 文件的库,支持创建、读取、修改和格式化 Excel 文档。</p>
<p style="text-align: center"><span style="color: rgba(230, 126, 35, 1)"><strong>Spire.XLS for Python试用下载,请联系E-iceblue Spire官方授权代理商慧都科技</strong></span></p>
<p style="text-align: center"><span style="color: rgba(230, 126, 35, 1)"><strong>获取更多信息请咨询<u>慧都在线客服</u>&nbsp;&nbsp;;技术交流Q群(125237868)</strong></span></p>
<h3>安装 Spire.XLS for Python</h3>
<p>通过 pip 安装:</p>
<pre class="prettyprint highlighter-hljs"><code>pip install Spire.XLS</code></pre>
<p>在 Python 脚本中导入:</p>
<pre class="prettyprint lang-py highlighter-hljs"><code>from spire.xls import *</code></pre>
<h3>创建或加载 Excel 工作簿</h3>
<p>在开始格式化之前,需要准备一个工作簿。</p>
<p><strong>新建工作簿:</strong></p>
<pre class="prettyprint lang-py highlighter-hljs"><code>workbook = Workbook()
sheet = workbook.Worksheets</code></pre>
<p><strong>或加载已有文件:</strong></p>
<pre class="prettyprint lang-py highlighter-hljs"><code>workbook = Workbook()
workbook.LoadFromFile("输入文件.xlsx")
sheet = workbook.Worksheets</code></pre>
<p>格式化完成后,保存结果:</p>
<pre class="prettyprint lang-py highlighter-hljs"><code>workbook.SaveToFile("output/格式设置结果.xlsx", ExcelVersion.Version2016)</code></pre>
<p>有了工作簿,我们就可以进入实际的格式设置示例了。</p>
<h2>用 Python 设置 Excel 表格基础格式</h2>
<p>在学习高级操作前,先掌握 Excel 的基础格式化功能非常重要。这些基本技巧(字体、对齐、边框、背景颜色、列宽和行高调整)是创建清晰、专业电子表格的基石。熟练后可以组合并扩展这些方法,构建更复杂的样式。</p>
<h3>1. 设置字体</h3>
<p>修改字体是 Excel 样式中最常见的任务。在<strong><u>&nbsp;</u></strong><strong><u>Spire.XLS for Python</u></strong><strong><u>&nbsp;</u></strong>中,可以通过&nbsp;<strong>CellRange.Style.Font</strong>&nbsp;对象来控制字体名称、大小、颜色以及加粗、斜体、下划线等效果。</p>
<pre class="prettyprint lang-py highlighter-hljs"><code>cell = sheet.Range
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</code></pre>
<p>这样即可直接修改单元格文字的显示效果。</p>
<h3>2. 对齐与自动换行</h3>
<p>通过&nbsp;<strong>HorizontalAlignment</strong>&nbsp;和&nbsp;<strong>VerticalAlignment</strong>&nbsp;属性可以设置单元格的水平和垂直对齐方式,<strong>WrapText</strong>&nbsp;属性则能让长文本自动换行。</p>
<pre class="prettyprint lang-py highlighter-hljs"><code>cell = sheet.Range
cell.Text = "这是一个居中并自动换行的示例文本"

cell.Style.HorizontalAlignment = HorizontalAlignType.Center
cell.Style.VerticalAlignment = VerticalAlignType.Center
cell.Style.WrapText = True</code></pre>
<p>这样可以保持文本居中且易于阅读。</p>
<h3>3. 添加边框</h3>
<p>单元格边框可通过&nbsp;<strong>Borders</strong>&nbsp;集合来设置,可以分别指定边框样式和颜色。</p>
<pre class="prettyprint lang-py highlighter-hljs"><code>cell = sheet.Range
cell.Text = "边框示例"

cell.Style.Borders.LineStyle = LineStyleType.Thin
cell.Style.Borders.Color = Color.get_Black()</code></pre>
<p>这样会在单元格下方添加一条黑色细线。</p>
<h3>4. 设置背景颜色</h3>
<p>通过&nbsp;<strong>Style.Color</strong>&nbsp;可以为单元格添加背景色,常用于突出标题或重点数据。</p>
<pre class="prettyprint lang-py highlighter-hljs"><code>cell = sheet.Range
cell.Text = "高亮单元格"
cell.Style.Color = Color.get_Yellow()</code></pre>
<p>这样单元格会显示为黄色背景。</p>
<h3>5. 调整列宽与行高</h3>
<p>调整列宽和行高可以避免文字重叠或留有过多空白。</p>
<pre class="prettyprint lang-py highlighter-hljs"><code># 设置指定列宽
sheet.Columns.ColumnWidth = 20
# 设置指定行高
sheet.Rows.RowHeight = 20</code></pre>
<p>此外,还可以自动调整行列宽度以适应内容:</p>
<ul>
<li>使用&nbsp;<strong>Worksheet.AutoFitColumn(columnIndex)</strong>&nbsp;或&nbsp;<strong>Worksheet.AutoFitRow(rowIndex)</strong>&nbsp;调整单列或单行。</li>
<li>使用&nbsp;<strong>CellRange.AutoFitColumns()</strong>&nbsp;或&nbsp;<strong>CellRange.AutoFitRows()</strong>&nbsp;调整选定区域内的所有列或行。</li>
</ul>
<p>这样可确保表格数据整齐且易读。</p>
<h3>基础格式设置效果预览</h3>
<p>下图展示了字体、对齐、边框、背景色、列宽和行高调整的效果:</p>
<p><img src="https://image.evget.com/attachment/keditor/image/20250917/104353_1.png"></p>
<p>此外,还可以自定义数字、日期、货币等数据格式。</p>
<h2>Python 中进行 Excel 扩展格式设置</h2>
<p>除了逐个单元格设置,还可以通过单元格区域和可复用样式来实现更高效的格式化。主要涉及&nbsp;<strong>CellRange</strong>&nbsp;对象(用于合并、调整区域大小)和&nbsp;<strong>Workbook.Styles</strong>&nbsp;集合(用于创建自定义样式)。</p>
<h3>1. 合并单元格</h3>
<p>常用于生成报表标题或跨列的分区标题。</p>
<pre class="prettyprint lang-py highlighter-hljs"><code>range = sheet.Range
range.Merge()
range.Text = "季度销售报表"
range.Style.HorizontalAlignment = HorizontalAlignType.Center
range.RowHeight = 30</code></pre>
<p>这样可以将 B2:D2 合并为一个单元格并设置居中。</p>
<h3>2. 应用内置样式</h3>
<p>Excel 自带一些预设样式,可以快速应用。</p>
<pre class="prettyprint lang-js highlighter-hljs"><code>range.BuiltInStyle = BuiltInStyles.Heading1</code></pre>
<p>这样会应用&nbsp;<em>标题 1</em>&nbsp;样式,无需手动设置字体和边框。</p>
<h3>3. 创建并应用自定义样式</h3>
<p>当需要在多个单元格或表格中使用同一格式时,可以创建自定义样式。</p>
<pre class="prettyprint lang-js highlighter-hljs"><code># 创建自定义样式
custom_style = workbook.Styles.Add("自定义样式")
custom_style.Font.FontName = "宋体"
custom_style.Font.Size = 12
custom_style.Font.Color = Color.get_DarkGreen()
custom_style.Borders.LineStyle = LineStyleType.MediumDashDot

# 应用样式
cell = sheet.Range
cell.Text = "应用了自定义样式"
cell.Style = custom_style</code></pre>
<p>这样能提升格式管理效率,尤其在处理大数据时。</p>
<h3>扩展格式设置效果预览</h3>
<p>下图展示了合并单元格、内置样式和自定义样式的效果:</p>
<p><img src="https://image.evget.com/attachment/keditor/image/20250917/104545_2.png"></p>
<h2>Python 设置 Excel 样式的关键 API</h2>
<p>学习了基础和高级示例后,我们再回顾一下&nbsp;<strong>核心类、属性和方法</strong>。理解这些内容有助于写出更灵活、可维护的脚本。</p>
<p>下表总结了 Python 格式化 Excel 时最常用的 API,可作为速查表:</p>
<p><img src="https://image.evget.com/attachment/keditor/image/20250917/104628_9.png"></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>掌握这些 API 后,就能以结构化和灵活的方式完成常见格式化任务,确保报表专业美观且易于维护。</p>
<h2>实例应用:使用 Python 创建 Excel 报表</h2>
<p>接下来,我们结合所学来生成一个&nbsp;<strong>年度销售报表</strong>,包含结构化数据、地区分类和高级格式,让报表清晰、专业。</p>
<pre class="prettyprint lang-py highlighter-hljs"><code>from spire.xls import *

workbook = Workbook()
sheet = workbook.Worksheets
sheet.Name = "销售报表"

# 报表标题
title = sheet.Range
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)):
      sheet.Range.Text = str(data)

# 表头格式
header = sheet.Range
header.Style.Font.IsBold = True
header.Style.Color = Color.get_LightBlue()
header.Style.HorizontalAlignment = HorizontalAlignType.Center
header.Style.Borders.LineStyle = LineStyleType.Thin

# 数值列设置为货币
for row in range(3, 11):
    for col in range(3, 8):
      cell = sheet.Range
      if cell.Text.isdigit():
            cell.NumberValue = float(cell.Text)
            cell.NumberFormat = "¥#,##0"

# 高亮总计
grand_total = sheet.Range
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)</code></pre>
<p>此脚本整合了合并标题、加粗表头、货币格式、总计高亮、冻结窗格等多种技巧,使报表既清晰又美观,特别适合商业和财务数据展示。</p>
<p>最终生成的报表效果如下:</p>
<p><img src="https://image.evget.com/attachment/keditor/image/20250917/104800_7.png"></p>
<h2>结论</h2>
<p>使用 Python 格式化 Excel 是一种高效的报表自动化方式,既能节省时间,又能保证数据展示的专业性。通过结合基础样式和高级技巧(如自定义样式和列宽调整),你可以轻松创建清晰、统一的电子表格。</p>
<p>无论是财务报表、科研数据还是商业分析,<strong>Python Excel 格式设置</strong>&nbsp;都能帮助你高效完成任务。合理利用样式和属性,让表格不仅包含数据,还能直观传达信息。</p>
<p style="text-align: center"><span style="color: rgba(230, 126, 35, 1)"><strong>Spire.XLS for Python试用下载,请联系E-iceblue Spire官方授权代理商慧都科技</strong></span></p>
<p style="text-align: center"><span style="color: rgba(230, 126, 35, 1)"><strong>获取更多信息请咨询<u>慧都在线客服</u>&nbsp;&nbsp;;技术交流Q群(125237868)</strong></span></p>
<h2>常见问题解答</h2>
<h3>Q1: 可以用 Python 格式化 Excel 吗?</h3>
<p>可以。Python 提供了库来设置字体、颜色、边框、对齐方式、条件格式等。</p>
<h3>Q2: Python 中如何进行格式化?</h3>
<p>可以使用&nbsp;<strong><u>Spire.XLS for Python&nbsp;</u></strong>库,通过代码修改字体、对齐、列宽、合并单元格、应用样式等。</p>
<h3>Q3: Python 能编辑 Excel 吗?</h3>
<p>可以。Python 不仅能格式化,还能创建、读取、修改和保存 Excel 文件,非常适合动态报表和数据自动化。</p>
<h3>Q4: 如何自动化重复的 Excel 样式设置?</h3>
<p>可以定义自定义样式或封装函数,将统一的格式应用到多个工作簿和工作表中,从而提高效率并保持一致性。</p><br><br>
来源:https://www.cnblogs.com/software-Development/p/19096552
頁: [1]
查看完整版本: 国产化Excel开发组件Spire.XLS教程:使用 Python 设置 Excel 格式,从基础到专业应用