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

使用Python设置Excel单元格边框

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

文章目录

    • 用Python设置Excel内边框和外边框
    • 用Python设置单元格上下左右边框

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

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

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

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

  1. 导入必要的类
    使用以下类:

    • Workbook:表示 Excel 工作簿
    • LineStyleType:定义边框的样式(如 ThickThin
    • 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) 方法为区域设置外边框。

    • lineStyleLineStyleType 枚举值
    • colorExcelColors 枚举值
  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()方法来访问单元格区域的上下左右以及斜线边框,并可通过LineStyleColor等属性来对边框样式进行自定义。以下是添加上下左右以及斜线边框到单元格区域的操作步骤:

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

  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边框,包括设置内边框和外边框,以及分别设置上下左右及斜线边框。

相关文章:

  • [文献阅读]功能脑网络
  • 智能关停,高速风筒方案中陀螺仪技术的精准应用
  • web后端语言下篇
  • 热蛋白质组分析技术(TPP)在前列腺癌治疗研究中的应用
  • 空调制冷量和功率有什么关系?
  • vue3 nprogress 使用
  • 动态规划入门:4种背包问题大纲
  • 拆机装机,通电主板亮灯风扇不转无法开机解决办法
  • 数据驱动、精准协同:高端装备制造业三位一体生产管控体系构建
  • POSIX 信号量(Semaphore)
  • 深入解析 Python 中的装饰器 —— 从基础到实战
  • 第六章 进阶04 尊重
  • 【Contiki】Contiki process概述
  • oasys 打开慢的问题解决
  • 2025年03月中国电子学会青少年软件编程(Python)等级考试试卷(四级)真题
  • Spring Boot 3 + SpringDoc:打造接口文档
  • FPGA学习——DE2-115开发板上设计波形发生器
  • 软件项目验收报告模板
  • 算法备案的审核标准是什么?
  • 全国青少年信息素养大赛 C++算法创意实践挑战赛初赛 集训模拟试卷《七》及详细答案解析
  • 数智时代出版专业技能人才培养研讨会在沪举行
  • 成了“一日顶流”又能如何?
  • 红十字国际委员会加沙地带办公场所再次遭袭
  • 俄总统新闻秘书:乌克兰问题谈判相当艰难
  • 分析|开门红:一季度GDP增长5.4%超预期,市场活力信心增强
  • 民生访谈|事关体重管理、心理健康服务……上海有这些举措