在數據驅動的業務場景中,自動化設置Excel單元格邊框成為提升數據處理效率的關鍵環節。通過程序化控制邊框樣式,不僅能確保海量報表格式的統一性,還能通過粗細、虛實等視覺元素強化數據邏輯層次。當面對動態更新的分析報告時,代碼驅動的邊框規則可自適應內容變化,避免人工反覆調整的誤差風險,同時為數據可視化建立可複用的標準化框架。本文將介紹如何使用Python設置Excel工作簿中單元格的邊框。
- 用Python設置Excel內邊框和外邊框
- 用Python設置單元格上下左右邊框
本文所使用的方法需要用到Free Spire.XLS for Python,PyPI:pip install spire.xls。
用Python設置Excel內邊框和外邊框
庫中提供的CellRange.BorderAround()方法和CellRange.BoderInside()方法可分別用於直接對指定單元格範圍設置邊框,並可指定邊框樣式和顏色。以下是操作步驟:
Excel 單元格區域設置內邊框與外邊框的操作步驟
-
導入必要的類
使用以下類:Workbook:表示 Excel 工作簿LineStyleType:定義邊框的樣式(如Thick、Thin)ExcelColors:提供預定義顏色用於邊框
- 創建 Workbook 實例並加載文件
使用Workbook()創建工作簿對象,使用LoadFromFile(path)方法加載現有的 Excel 文件。 - 獲取工作表
通過Workbook.Worksheets.get_Item(index)方法獲取指定的工作表。 - 選定需要設置邊框的單元格區域
使用sheet.Range.get_Item(startRow, startCol, endRow, endCol)方法指定區域範圍。 -
設置外邊框
使用Range.BorderAround(lineStyle, color)方法為區域設置外邊框。lineStyle為LineStyleType枚舉值color為ExcelColors枚舉值
- 設置內邊框
使用Range.BorderInside(lineStyle, color)方法為區域設置內部的行列邊框。
適用於表格區域或多行多列的區域設置。 - 保存和釋放資源
使用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等屬性來對邊框樣式進行自定義。以下是添加上下左右以及斜線邊框到單元格區域的操作步驟:
設置單元格或行的單側邊框的操作步驟
-
導入必要的類
使用以下類:Workbook:表示 Excel 工作簿BordersLineType:枚舉,用於指定邊框類型(如EdgeTop,EdgeBottom等)LineStyleType:邊框線條樣式(如Thick,Dashed等)Color:用於設置邊框顏色(可通過Color.get_XXX()獲取預定義顏色)
-
創建 Workbook 實例並加載 Excel 文件
- 創建對象:
workbook = Workbook() - 加載文件:
workbook.LoadFromFile(path)
- 創建對象:
- 獲取工作表
使用Workbook.Worksheets.get_Item(index)獲取目標工作表。 -
選定目標單元格或整行
- 獲取行:
sheet.Rows.get_Item(rowIndex) - 獲取單元格:
sheet.Range.get_Item(row, column)
- 獲取行:
-
設置邊框樣式與顏色
-
獲取邊框對象:
style = target.Style.Borders.get_Item(BordersLineType.XXX)
XXX可為:EdgeTop(上邊框)EdgeBottom(下邊框)EdgeLeft(左邊框)EdgeRight(右邊框)DiagonalUp(斜上線)DiagonalDown(斜下線)
-
設置線型與顏色:
style.LineStyle = LineStyleType.XXX style.Color = Color.get_XXX()
-
- 保存文件並釋放資源
使用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邊框,包括設置內邊框和外邊框,以及分別設置上下左右及斜線邊框。