Python如何设置Excel单元格边框

 更新时间:2025年04月20日 08:12:04   作者:Eiceblue  
在数据驱动的业务场景中,自动化设置Excel单元格边框成为提升数据处理效率的关键环节,下面我们就来讲讲如何使用Python设置Excel工作簿中单元格的边框吧

在数据驱动的业务场景中,自动化设置Excel单元格边框成为提升数据处理效率的关键环节。通过程序化控制边框样式,不仅能确保海量报表格式的统一性,还能通过粗细、虚实等视觉元素强化数据逻辑层次。当面对动态更新的分析报告时,代码驱动的边框规则可自适应内容变化,避免人工反复调整的误差风险,同时为数据可视化建立可复用的标准化框架。本文将介绍如何使用Python设置Excel工作簿中单元格的边框。

本文所使用的方法需要用到Free Spire.XLS for Python,PyPI:pip install spire.xls

用Python设置Excel内边框和外边框

库中提供的CellRange.BorderAround()方法和CellRange.BoderInside()方法可分别用于直接对指定单元格范围设置边框,并可指定边框样式和颜色。以下是操作步骤:

Excel 单元格区域设置内边框与外边框的操作步骤

1.导入必要的类

使用以下类:

  • Workbook:表示 Excel 工作簿
  • LineStyleType:定义边框的样式(如 Thick、Thin)
  • ExcelColors:提供预定义颜色用于边框

2.创建 Workbook 实例并加载文件

使用 Workbook() 创建工作簿对象,使用 LoadFromFile(path) 方法加载现有的 Excel 文件。

3.获取工作表

通过 Workbook.Worksheets.get_Item(index) 方法获取指定的工作表。

4.选定需要设置边框的单元格区域

使用 sheet.Range.get_Item(startRow, startCol, endRow, endCol) 方法指定区域范围。

5.设置外边框

使用 Range.BorderAround(lineStyle, color) 方法为区域设置外边框。

  • lineStyle 为 LineStyleType 枚举值
  • color 为 ExcelColors 枚举值

6.设置内边框

  • 使用 Range.BorderInside(lineStyle, color) 方法为区域设置内部的行列边框。
  • 适用于表格区域或多行多列的区域设置。

7.保存和释放资源

使用 SaveToFile(path) 方法保存文件,使用 Dispose() 方法释放资源。

代码示例

from spire.xls import Workbook, LineStyleType, ExcelColors

# 创建Workbook对象
workbook = Workbook()

# 载入Excel文件
workbook.LoadFromFile("Sample.xlsx")

# 获取第一个工作表
sheet = workbook.Worksheets.get_Item(0)

# 获取标题和表头行
headerRow = sheet.Range.get_Item(1, 1, 2, sheet.Range.ColumnCount)
# 设置标题和表头外边框
headerRow.BorderAround(LineStyleType.Thick, ExcelColors.BlueGray)

# 获取数据行
dataRows = sheet.Range.get_Item(3, 1, sheet.Range.RowCount, sheet.Range.ColumnCount)
# 设置数据行内边框
dataRows.BorderInside(LineStyleType.Thin, ExcelColors.BrightGreen)

# 保存工作簿
workbook.SaveToFile("output/OutsideInsideBorders.xlsx")
workbook.Dispose()

输出的文档

用Python设置单元格上下左右边框

库中还提供了CellRange.Style.Borders.get_Item()方法来访问单元格区域的上下左右以及斜线边框,并可通过LineStyle和Color等属性来对边框样式进行自定义。以下是添加上下左右以及斜线边框到单元格区域的操作步骤:

设置单元格或行的单侧边框的操作步骤

1.导入必要的类

使用以下类:

  • Workbook:表示 Excel 工作簿
  • BordersLineType:枚举,用于指定边框类型(如 EdgeTop, EdgeBottom 等)
  • LineStyleType:边框线条样式(如 Thick, Dashed 等)
  • Color:用于设置边框颜色(可通过 Color.get_XXX() 获取预定义颜色)

2.创建 Workbook 实例并加载 Excel 文件

  • 创建对象:workbook = Workbook()
  • 加载文件:workbook.LoadFromFile(path)

3.获取工作表

使用 Workbook.Worksheets.get_Item(index) 获取目标工作表。

4.选定目标单元格或整行

  • 获取行:sheet.Rows.get_Item(rowIndex)
  • 获取单元格:sheet.Range.get_Item(row, column)

5.设置边框样式与颜色

获取边框对象:

style = target.Style.Borders.get_Item(BordersLineType.XXX)

XXX 可为:

  • EdgeTop(上边框)
  • EdgeBottom(下边框)
  • EdgeLeft(左边框)
  • EdgeRight(右边框)
  • DiagonalUp(斜上线)
  • DiagonalDown(斜下线)

设置线型与颜色:

style.LineStyle = LineStyleType.XXX
style.Color = Color.get_XXX()

6.保存文件并释放资源

使用 SaveToFile(path) 保存更改,使用 Dispose() 释放资源。

代码示例

from spire.xls import Workbook, BordersLineType, LineStyleType, Color

# 创建Workbook对象
workbook = Workbook()

# 载入Excel文件
workbook.LoadFromFile("Sample.xlsx")

# 获取第一个工作表
sheet = workbook.Worksheets.get_Item(0)

# 获取第二行
row2 = sheet.Rows.get_Item(1)
# 设置下边框
row2.Style.Borders.get_Item(BordersLineType.EdgeBottom).LineStyle = LineStyleType.Thick
row2.Style.Borders.get_Item(BordersLineType.EdgeBottom).Color = Color.get_White()

# 获取第四行
row4 = sheet.Rows.get_Item(3)
# 设置上边框
row4.Style.Borders.get_Item(BordersLineType.EdgeTop).LineStyle = LineStyleType.Dotted
row4.Style.Borders.get_Item(BordersLineType.EdgeTop).Color = Color.get_Red()

# 获取第六行第二个单元格
cell1 = sheet.Range.get_Item(6, 2)
# 设置左边框
cell1.Style.Borders.get_Item(BordersLineType.EdgeLeft).LineStyle = LineStyleType.DashDotDot
cell1.Style.Borders.get_Item(BordersLineType.EdgeLeft).Color = Color.get_Blue()

# 获取第八行第二个单元格
cell2 = sheet.Range.get_Item(8, 2)
# 设置右边框
cell2.Style.Borders.get_Item(BordersLineType.EdgeRight).LineStyle = LineStyleType.Dashed
cell2.Style.Borders.get_Item(BordersLineType.EdgeRight).Color = Color.get_Brown()

# 获取第十行
row10 = sheet.Rows.get_Item(9)
# 设置下斜线边框
row10.Style.Borders.get_Item(BordersLineType.DiagonalDown).LineStyle = LineStyleType.Double
row10.Style.Borders.get_Item(BordersLineType.DiagonalDown).Color = Color.get_Yellow()

# 获取第十二行
row12 = sheet.Rows.get_Item(11)
# 设置上斜线边框
row12.Style.Borders.get_Item(BordersLineType.DiagonalUp).LineStyle = LineStyleType.Medium
row12.Style.Borders.get_Item(BordersLineType.DiagonalUp).Color = Color.get_Aqua()

# 保存文件
workbook.SaveToFile("output/SingleBorders.xlsx")
workbook.Dispose()

输出的文档

本文演示了如何使用Python设置Excel边框,包括设置内边框和外边框,以及分别设置上下左右及斜线边框。

到此这篇关于Python如何设置Excel单元格边框的文章就介绍到这了,更多相关Python设置Excel单元格边框内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • python3中bytes和string之间的互相转换

    python3中bytes和string之间的互相转换

    这篇文章主要介绍了python3中bytes和string之间的互相转换,文中给出了详细的介绍和示例代码,相信对大家具有一定的参考价值,有需要的朋友们下面来一起学习学习吧。
    2017-02-02
  • 利用python3随机生成中文字符的实现方法

    利用python3随机生成中文字符的实现方法

    最近在学习python3,发现网上关于ptyhon3随机生成中文的资料非常少,所以决定将自己实现的方法分享下,下面这篇文章主要给大家介绍了关于利用python3随机生成中文字符的实现方法,需要的朋友可以参考借鉴,下面来一起看看吧。
    2017-11-11
  • Python实现基于TCP UDP协议的IPv4 IPv6模式客户端和服务端功能示例

    Python实现基于TCP UDP协议的IPv4 IPv6模式客户端和服务端功能示例

    这篇文章主要介绍了Python实现基于TCP UDP协议的IPv4 IPv6模式客户端和服务端功能,结合实例形式分析了Python基于TCP UDP协议的IPv4 IPv6模式客户端和服务端数据发送与接收相关操作技巧,需要的朋友可以参考下
    2018-03-03
  • 用Python采集《雪中悍刀行》弹幕做成词云实例

    用Python采集《雪中悍刀行》弹幕做成词云实例

    大家好,本篇文章主要讲的是用Python采集《雪中悍刀行》弹幕做成词云实例,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下
    2022-01-01
  • 利用Python读取微信朋友圈的多种方法总结

    利用Python读取微信朋友圈的多种方法总结

    这篇文章主要给大家介绍了关于如何利用Python读取微信朋友圈的多种方法,对于一个新手来说如果单独的去爬取朋友圈的话,难度会非常大,可以借鉴这篇文章的内容,需要的朋友可以参考下
    2021-08-08
  • 浅谈python之新式类

    浅谈python之新式类

    这篇文章主要介绍了浅谈python之新式类,详细的介绍了如何使用新式类和经典类的区别。小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-08-08
  • 以一个投票程序的实例来讲解Python的Django框架使用

    以一个投票程序的实例来讲解Python的Django框架使用

    这篇文章主要介绍了以一个投票程序的实例来讲解Python的Django框架使用,Django是Python世界中人气最高的MVC框架,需要的朋友可以参考下
    2016-02-02
  • Django在admin后台集成TinyMCE富文本编辑器的例子

    Django在admin后台集成TinyMCE富文本编辑器的例子

    今天小编就为大家分享一篇Django在admin后台集成TinyMCE富文本编辑器的例子,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-08-08
  • Python中的文件定位方式

    Python中的文件定位方式

    这篇文章主要介绍了Python中的文件定位方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-08-08
  • python随机3分钟发送一次消息完整代码

    python随机3分钟发送一次消息完整代码

    最近我接到这样的任务需求有一个实时任务,想要间隔3分钟发送,最近的一次消息,接下来通过本文给大家分享python随机3分钟发送一次消息,需要的朋友可以参考下
    2024-03-03

最新评论