動態

詳情 返回 返回

用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邊框,包括設置內邊框和外邊框,以及分別設置上下左右及斜線邊框。

user avatar tanking 頭像
點贊 1 用戶, 點贊了這篇動態!
點贊

Add a new 評論

Some HTML is okay.