如何在 Excel 設置單元格邊框和對齊 | IronXL

如何使用 IronXL 在 C# 中設定儲存格邊界與對齊方式。

This article was translated from English: Does it need improvement?
Translated
View the article in English

使用 IronXL 在 C# Excel 檔案中設定儲存格邊界和文字對齊方式,可直接套用邊界類型(如 MediumDashed)和對齊屬性(如 HorizontalAlignment.Center)至工作表單儲存格,而無需 Microsoft Interop 相關依賴。

在 Excel 中,儲存格邊框是指可以套用於單一儲存格或儲存格群組的線條或邊框,而文字對齊是指儲存格內文字的垂直和水平位置。 IronXL 為 使用 Excel 單元格樣式提供了全面的 API,可讓您以程式化的方式精準地控制這些視覺元素。

快速入門:一次呼叫即可設定單元格邊框和居中文字對齊

在一側套用邊框樣式,並將文字水平居中,只需兩行即可。 快速啟動並運行,無需互通開銷。

Nuget Icon立即開始使用 NuGet 建立 PDF 檔案:

  1. 使用 NuGet 套件管理器安裝 IronXL

    PM > Install-Package IronXL.Excel

  2. 複製並運行這段程式碼。

    workSheet["B2"].Style.LeftBorder.Type = IronXL.Styles.BorderType.MediumDashed;
    workSheet["B2"].Style.HorizontalAlignment = IronXL.Styles.HorizontalAlignment.Center;
  3. 部署到您的生產環境進行測試

    立即開始在您的專案中使用 IronXL,免費試用!
    arrow pointer


開始使用 IronXL。


如何在基本範例中設定儲存格邊界和文字對齊方式?

使用 TopBorder, RightBorder, BottomBorder, 和 LeftBorder 屬性加入邊框,自訂 選取的儲存格、列、行或範圍的外觀。 從IronXL.Styles.BorderType枚舉中提供的各種樣式中進行選擇。 瀏覽所有可用的邊框類型,找到最合適的款式。

為了實現精確的文字對齊,請在樣式中調整HorizontalAlignmentVerticalAlignment屬性,以達到所需的佈局。 使用 IronXL.Styles.HorizontalAlignmentIronXL.Styles.VerticalAlignment 枚舉來設定所需的對齊方式。 探索所有可用的對齊方式,完美呈現您的數據。 這種方法在 製作需要一致格式的專業試算表時特別有用。

在套用邊界和對齊方式之前,請確保您已正確載入 Excel 工作簿。 以下是一個完整的範例,展示了基本的邊界與對齊設定:

:path=/static-assets/excel/content-code-examples/how-to/border-alignment-set-border-alignment.cs
using IronXL;
using IronXL.Styles;

WorkBook workBook = WorkBook.Create();
WorkSheet workSheet = workBook.DefaultWorkSheet;

workSheet["B2"].Value = "B2";

// Set cell border
workSheet["B2"].Style.LeftBorder.Type = BorderType.MediumDashed;
workSheet["B2"].Style.RightBorder.Type = BorderType.MediumDashed;

// Set text alignment
workSheet["B2"].Style.HorizontalAlignment = HorizontalAlignment.Center;

workBook.SaveAs("setBorderAndAlignment.xlsx");
Imports IronXL
Imports IronXL.Styles

Private workBook As WorkBook = WorkBook.Create()
Private workSheet As WorkSheet = workBook.DefaultWorkSheet

Private workSheet("B2").Value = "B2"

' Set cell border
Private workSheet("B2").Style.LeftBorder.Type = BorderType.MediumDashed
Private workSheet("B2").Style.RightBorder.Type = BorderType.MediumDashed

' Set text alignment
Private workSheet("B2").Style.HorizontalAlignment = HorizontalAlignment.Center

workBook.SaveAs("setBorderAndAlignment.xlsx")
$vbLabelText   $csharpLabel
應用了虛線邊框的試算表單元格 B2,顯示 Excel 式網格中的邊框格式化結果

有哪些進階邊框和對齊方式選項可用?

如何自訂邊框顏色?

預設情況下,邊框顏色為黑色,但您可以將其自訂為Color類別中提供的任何顏色,或使用十六進位顏色代碼。 若要設定邊框顏色,請使用 Color 屬性與所需顏色或 Hex 代碼。 此外, Color屬性可讓您取得邊框的顏色。 這種靈活性類似於您可以 為儲存格設定背景顏色

單獨設定邊框顏色不會產生任何效果,除非同時將邊框類型設定為可用類型之一。

邊框顏色自訂功能可與其他儲存格格式化功能無縫配合。 當與 條件格式化結合時,您可以建立動態的視覺提示,協助使用者快速識別試算表中的重要資料模式。

:path=/static-assets/excel/content-code-examples/how-to/border-alignment-set-border-color.cs
using IronXL;
using IronXL.Styles;
using IronSoftware.Drawing;

WorkBook workBook = WorkBook.Create();
WorkSheet workSheet = workBook.DefaultWorkSheet;

workSheet["B2"].Style.LeftBorder.Type = BorderType.Thick;
workSheet["B2"].Style.RightBorder.Type = BorderType.Thick;

// Set cell border color
workSheet["B2"].Style.LeftBorder.SetColor(Color.Aquamarine);
workSheet["B2"].Style.RightBorder.SetColor("#FF7F50");

workBook.SaveAs("setBorderColor.xlsx");
Imports IronXL
Imports IronXL.Styles
Imports IronSoftware.Drawing

Private workBook As WorkBook = WorkBook.Create()
Private workSheet As WorkSheet = workBook.DefaultWorkSheet

Private workSheet("B2").Style.LeftBorder.Type = BorderType.Thick
Private workSheet("B2").Style.RightBorder.Type = BorderType.Thick

' Set cell border color
workSheet("B2").Style.LeftBorder.SetColor(Color.Aquamarine)
workSheet("B2").Style.RightBorder.SetColor("#FF7F50")

workBook.SaveAs("setBorderColor.xlsx")
$vbLabelText   $csharpLabel
試算表中顯示左邊框為綠色的單元格 B2 和右邊框為橙色的單元格 C2 演示邊框顏色

哪些邊界線位置和模式可以套用?

總共有六個邊界線位置,每個位置都呈現多種圖案或類型。這些位置包括上、右、下、左,以及向前、向後和雙向的對角線。 這套全面的選項可讓您建立複雜的視覺化佈局,類似於 使用合併儲存格時可能達到的效果,但更具彈性。

在使用對角線邊框時,請瞭解它們如何與儲存格的內容和對齊方式設定互動。 對角線邊框對於在您的 Excel 報表中建立標頭部分或視覺區隔特別有用。

:path=/static-assets/excel/content-code-examples/how-to/border-alignment-set-border-line.cs
using IronXL;
using IronXL.Styles;

WorkBook workBook = WorkBook.Create();
WorkSheet workSheet = workBook.DefaultWorkSheet;

workSheet["B2"].StringValue = "Top";
workSheet["B4"].StringValue = "Forward";

// Set top border line
workSheet["B2"].Style.TopBorder.Type = BorderType.Thick;

// Set diagonal border line
workSheet["B4"].Style.DiagonalBorder.Type = BorderType.Thick;
// Set diagonal border direction
workSheet["B4"].Style.DiagonalBorderDirection = DiagonalBorderDirection.Forward;

workBook.SaveAs("borderLines.xlsx");
Imports IronXL
Imports IronXL.Styles

Private workBook As WorkBook = WorkBook.Create()
Private workSheet As WorkSheet = workBook.DefaultWorkSheet

Private workSheet("B2").StringValue = "Top"
Private workSheet("B4").StringValue = "Forward"

' Set top border line
Private workSheet("B2").Style.TopBorder.Type = BorderType.Thick

' Set diagonal border line
Private workSheet("B4").Style.DiagonalBorder.Type = BorderType.Thick
' Set diagonal border direction
Private workSheet("B4").Style.DiagonalBorderDirection = DiagonalBorderDirection.Forward

workBook.SaveAs("borderLines.xlsx")
$vbLabelText   $csharpLabel

對於更複雜的邊框情況,可考慮建立一個可重複使用的函式,在多個儲存格或範圍中套用一致的邊框樣式:

void ApplyUniformBorder(WorkSheet sheet, string range, BorderType borderType, Color borderColor)
{
    var cells = sheet[range];

    // Apply borders to all sides
    cells.Style.TopBorder.Type = borderType;
    cells.Style.RightBorder.Type = borderType;
    cells.Style.BottomBorder.Type = borderType;
    cells.Style.LeftBorder.Type = borderType;

    // Apply color to all borders
    cells.Style.TopBorder.SetColor(borderColor);
    cells.Style.RightBorder.SetColor(borderColor);
    cells.Style.BottomBorder.SetColor(borderColor);
    cells.Style.LeftBorder.SetColor(borderColor);
}

// Usage example
ApplyUniformBorder(workSheet, "A1:D4", BorderType.Thin, Color.Black);
void ApplyUniformBorder(WorkSheet sheet, string range, BorderType borderType, Color borderColor)
{
    var cells = sheet[range];

    // Apply borders to all sides
    cells.Style.TopBorder.Type = borderType;
    cells.Style.RightBorder.Type = borderType;
    cells.Style.BottomBorder.Type = borderType;
    cells.Style.LeftBorder.Type = borderType;

    // Apply color to all borders
    cells.Style.TopBorder.SetColor(borderColor);
    cells.Style.RightBorder.SetColor(borderColor);
    cells.Style.BottomBorder.SetColor(borderColor);
    cells.Style.LeftBorder.SetColor(borderColor);
}

// Usage example
ApplyUniformBorder(workSheet, "A1:D4", BorderType.Thin, Color.Black);
Option Strict On



Sub ApplyUniformBorder(sheet As WorkSheet, range As String, borderType As BorderType, borderColor As Color)
    Dim cells = sheet(range)

    ' Apply borders to all sides
    cells.Style.TopBorder.Type = borderType
    cells.Style.RightBorder.Type = borderType
    cells.Style.BottomBorder.Type = borderType
    cells.Style.LeftBorder.Type = borderType

    ' Apply color to all borders
    cells.Style.TopBorder.SetColor(borderColor)
    cells.Style.RightBorder.SetColor(borderColor)
    cells.Style.BottomBorder.SetColor(borderColor)
    cells.Style.LeftBorder.SetColor(borderColor)
End Sub

' Usage example
ApplyUniformBorder(workSheet, "A1:D4", BorderType.Thin, Color.Black)
$vbLabelText   $csharpLabel

邊界線

Excel 邊框樣式示範,顯示上邊、右邊、下邊、左邊框及對角線方向 無、向前、向後

邊框圖案

試算表顯示可用的儲存格邊框類型,從 None 到 SlantedDashDot,並提供視覺範例

支援哪些文字對齊方式選項?

IronXL 中的文字對齊方式可全面控制內容在儲存格中的位置。 當 將資料匯出至不同格式時,此功能尤其重要,因為在此時保持視覺一致性至關重要。 對齊系統可與其他格式化功能(如 字體樣式)配合使用,以建立外觀專業的試算表。

下圖展示了IronXL提供的所有對齊選項:

Excel 試算表,以視覺範例顯示水平與垂直文字對齊的選項

水平對齊枚舉

  • General :常規水平對齊方式。 文字資料左對齊。 數字、日期和時間採用右對齊。 以布林類型為中心。 更改對齊方式不會影響資料類型。 當沒有設定特定的對齊方式時,這是預設的對齊方式。
  • Left :即使在從右到左的模式下,水平對齊方式也為左對齊。 將內容對齊到單元格的左邊緣。 如果指定了縮排量,則儲存格的內容將從左側縮排指定的字元空格數。
  • 居中:居中水平對齊。 文字在整個單元格中居中。 這通常用於標頭和標題。
  • 右對齊:右對齊的水平對齊方式。 即使在從右向左的模式下,儲存格內容也會在儲存格右邊對齊。 這通常用於數值資料的呈現。
  • 填充:單元格值填滿整個寬度。 如果右側相鄰單元格也具有相同的填充對齊方式,則它們也會被填充。 附加規則:
    • 只能附加整數值,不能附加部分值。
    • 列寬不會"最佳適應"填滿值。
    • 如果要新增的額外值超出儲存格的左右邊界,則不會新增該值。
    • 填滿的是儲存格的顯示值,而不是其底層的原始數值。
  • Justify :水平兩端對齊(左右齊平)。 將文字自動換行套用到儲存格,並確保每一行的第一個單字與儲存格的左邊緣對齊,最後一個單字與儲存格的右邊緣對齊(最後一行除外)。 這對包含段落的文字較多的單元格特別有用。
  • CenterSelection: 在多個儲存格中,水平地將最左側儲存格的內容居中。 它在視覺上看起來類似於合併細胞,但實際上並沒有合併它們。 使用此選項有助於防止合併儲存格可能出現的潛在問題。
  • Distributed :單元格內每行文字中的每個"單字"均勻分佈在單元格的寬度上,左右邊緣齊平。 如果需要套用縮排值,則儲存格的左右兩側都會依縮排值進行填滿。

垂直對齊枚舉

  • None:預設對齊方式,通常會產生底部對齊的行為。
  • Top :將內容對齊到單元格頂部。 適用於內容高度不一的單元格。
  • Center :使儲存格內的內容垂直居中。 這樣可以創造出平衡的外觀,尤其是結合水平居中的方式。
  • Bottom :將內容對齊到儲存格底部。 這是大部分試算表應用程式的標準行為。
  • Justify :將文字行均勻分佈在單元格的高度上,上下邊距齊平。 其工作原理類似於水平對齊,透過自動換行並調整行間距來填滿整行高度。
  • Distributed :將每行文字中的每個"單字"均勻分佈在單元格的高度上,水平文字方向上的頂部和底部邊距齊平。 在垂直文字方向上,其行為與分散式水平對齊方式完全相同,從上至下均勻地分散文字行。

在使用對齊設定時,請考慮它們如何與其他儲存格屬性互動。 例如,當您自動調整行和列的大小時,對齊方式的設定會影響內容在自動調整大小的儲存格中的配合方式。 同樣地,當 處理公式時,適當的對齊方式可以讓您的試算表計算更具可讀性和專業性。

常見問題解答

不使用 Microsoft Office,如何在 C# 中為 Excel 單元格添加邊框?

您可以使用 IronXL.Excel 的 Style API 為 Excel 單元格新增邊框。只需存取儲存格的 Style 屬性,並使用 LeftBorder.Type、RightBorder.Type、TopBorder.Type 和 BottomBorder.Type 等屬性設定如 MediumDashed 等邊框類型。IronXL 可獨立運作,無需 Microsoft Office 或 Interop 依賴。

C# 中 Excel 單元格有哪些邊框樣式?

IronXL 透過 IronXL.Styles.BorderType 枚舉提供各種邊框樣式,包括 MediumDashed、Thin、Thick、Double 等選項。您可以將這些樣式套用到儲存格的任何一邊 (上、右、下、左),以建立外觀專業的試算表。

如何以程式化方式將 Excel 單元格中的文字居中?

要使用 IronXL 使 Excel 單元格中的文字居中,請將 Style.HorizontalAlignment 屬性設定為 IronXL.Styles.HorizontalAlignment.Center。您也可以使用 VerticalAlignment 屬性控制垂直對齊,以獲得完整的文字定位控制。

我可以一次對多個儲存格套用邊框和對齊方式嗎?

是的,IronXL 允許您對整個範圍、列或行套用邊框和對齊方式。只需選取所需的範圍,套用樣式屬性即可同時格式化多個儲存格,讓大量格式化作業變得更有效率。

如何在 C# 中為 Excel 單元格設定邊框顏色?

IronXL 可讓您使用預先定義的顏色類型或自訂的 Hex 顏色碼設定邊框顏色。透過樣式物件存取邊框顏色屬性,自訂儲存格邊框的外觀。

添加邊框和居中文字所需的最少代碼是多少?

使用 IronXL,您只需兩行即可新增邊框和居中文字:workSheet["B2「].Style.LeftBorder.Type = IronXL.Styles.BorderType.MediumDashed; 以及 workSheet[」B2"].Style.HorizontalAlignment = IronXL.Styles.HorizontalAlignment.Center; 這可提供快速格式化,且無需 Interop 開銷。

Curtis Chau
技術撰稿人

Curtis Chau 擁有電腦科學學士學位(卡爾頓大學),專長於前端開發,精通 Node.js、TypeScript、JavaScript 和 React。Curtis 對製作直覺且美觀的使用者介面充滿熱情,他喜歡使用現代化的架構,並製作結構良好且視覺上吸引人的手冊。

除了開發之外,Curtis 對物聯網 (IoT) 也有濃厚的興趣,他喜歡探索整合硬體與軟體的創新方式。在空閒時間,他喜歡玩遊戲和建立 Discord bots,將他對技術的熱愛與創意結合。

準備好開始了嗎?
Nuget 下載 1,846,091 | 版本: 2026.2 剛剛發布