在数据驱动的业务场景中,自动化设置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单元格边框内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!
发表评论