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

如何在C#中用IronXL設定儲存格邊框和對齊

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

在C# Excel檔案中,使用IronXL設置儲存格的邊框和文字對齊,通過應用邊框型別如HorizontalAlignment.Center,直接在工作表儲存格上而無需依賴Microsoft Interop。

在Excel中,儲存格邊框是可以應用在單個或多個儲存格上的線條或邊框,而文字對齊則是指在儲存格內垂直和水平定位文字。 IronXL提供一個全面的API,用於與Excel儲存格樣式合作,使您能夠以精確的方式程式化操控這些視覺元素。

快速開始:用一個調用設置儲存格邊框和居中文字對齊

僅用兩行即可應用邊框樣式至一側並水平居中文字。 快速啟動,無需Interop的負擔。

  1. 使用NuGet套件管理器安裝https://www.nuget.org/packages/IronXL.Excel

    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


我如何在基本範例中設置儲存格邊框和文字對齊?

透過使用LeftBorder屬性,自訂選定的儲存格、欄、列或範圍的外觀。 從BorderType枚舉中選擇各種樣式。 探索所有可用的邊框型別以找到最合適的。

IronXL.Styles.BorderType HorizontalAlignment VerticalAlignment IronXL.Styles.HorizontalAlignment IronXL.Styles.VerticalAlignment

為了精確的文字對齊,在VerticalAlignment屬性來達到所需的布局。 使用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
Excel樣式網格中顯示的B2儲存格,應用虛線邊框,展示邊框格式化結果

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

我如何自定義邊框顏色?

預設情況下,邊框顏色是黑色,但您可以將其自訂為Color類中的任何顏色或使用十六進位顏色程式碼。 要設置邊框顏色,使用Color屬性與所需的顏色或十六進位程式碼。 此外,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邊框樣式演示顯示上、右、下、左邊框和對角方向無、前進、後退

邊框樣式

電子表格顯示從無到斜線點劃等可用儲存格邊框型別的視覺範例

支援哪些文字對齊選項?

IronXL中的文字對齊提供對內容在儲存格內定位的全面控制。 當導出資料至不同格式時,此功能尤其重要,因為保持視覺一致性至關重要。 對齊系統與其他格式化功能如字體樣式一起工作,建立專業的電子表格。

Color Color

HorizontalAlignment 列舉

  • General:一般對齊的水平對齊。 文字資料是左對齊的。 數字、日期和時間是右對齊的。 布林型別是居中的。 更改對齊不會影響資料型別。 這是未設置特定對齊時的預設對齊方式。
  • Left:即使在從右到左模式下也是左對齊的水平對齊。 將內容對齊置於儲存格的左邊緣。 如果指定了縮進量,儲存格的內容會從左側縮進指定數量的字元空格。
  • Center:居中對齊的水平對齊。 文字在儲存格內居中。 這通常用於標題和標題。
  • Right:右對齊的水平對齊。 儲存格內容在儲存格的右邊緣對齊,即使在從右到左模式下。 這通常用於資料表現。
  • Fill:儲存格的值填充整個寬度。 如果右側相鄰的儲存格也有相同的填充對齊,它們也將被填充。 附加規則:
    • 只能追加整個值,不能是部分值。
    • 欄不會加寬到"最佳適合"填充值。
    • 如果追加該值的額外出現超出儲存格的左/右邊界,則不會新增。
    • 儲存格的顯示值被填充,而不是底層的原始數字。
  • Justify:對齊(兩端對齊)的水平對齊。 將文字換行應用於儲存格,並確保每行的第一個字與儲存格左側對齊,最後一個字與儲存格右側對齊(最後一行除外)。 這對於含有段落的文字密集型儲存格特別有用。
  • CenterSelection:水平居中多個儲存格中內容的左邊最狹儲存格的內容。 從視覺上看起來類似於合併儲存格,但實際上沒有合併它們。 使用此選項有助於防止可能出現的問題,這些問題可能由儲存格合併引起。
  • Distributed:儲存格內每行文字中的每個'單詞'均勻地分佈在儲存格的寬度上,兩端無縫對齊。 如果有要應用的縮進值,儲存格的左右兩側都會被縮進值填充。

VerticalAlignment 列舉

  • None:預設對齊,通常會導致底部對齊行為。
  • Top:在儲存格頂部對齊內容。 適用於具有不同內容高度的儲存格。
  • Center:在儲存格內垂直居中內容。 這會創造均衡的外觀,特別是與水平居中結合時。
  • Bottom:在儲存格底部對齊內容。 這是大多數電子表格應用程式的標準行為。
  • Justify:均勻分配儲存格的高度的行文字,與上和下邊緣齊平。 通過換行文字並調整線條間需間來填充整個行高,與水平對齊類似。
  • Distributed:在水平文字方向上,每行文字中的每個單詞均等分佈在儲存格的高度,不同於高度的頂和底框距。 在垂直文字方向上,行文字從上到下均等分佈,行為與水平對齊完全一致。

操作對齊設置時,考慮它們與其他儲存格屬性的交互。 例如,當自動調整行高和欄寬時,對齊設置會影響內容如何適應在自動調整大小的儲存格內。 同樣,當處理公式時,適當的對齊可以使您的電子表格計算更易讀且更專業。

常見問題

我如何在C#中為Excel單元格新增邊框而不使用Microsoft Office?

您可以使用IronXL的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單元格中居中文字?

為了在Excel單元格中使用IronXL居中文字,設置Style.HorizontalAlignment屬性為IronXl.Styles.HorizontalAlignment.Center。還可以使用VerticalAlignment屬性控制垂直對齊,以實現完全的文字定位控制。

我可以同時對多個單元格應用邊框和對齊嗎?

是的,IronXL允許您對整個區域、列或行應用邊框和對齊。只需選擇所需的區域並應用Style屬性以同時格式化多個單元格,使批量格式化操作更高效。

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

IronXL允許您使用預定義的顏色型別或自定的Hex顏色程式碼設置邊框顏色。通過Style物件存取邊框顏色屬性可以自定義單元格邊框的外觀。

新增邊框和居中文字所需的最少程式碼是什麼?

使用IronXL,只需兩行程式碼即可新增邊框並居中文字:workSheet["B2"].Style.LeftBorder.Type = IronXL.Styles.BorderType.MediumDashed; 和 workSheet["B2"].Style.HorizontalAlignment = IronXL.Styles.HorizontalAlignment.Center; 這樣可以快速進行格式化而不會有Interop的開銷。

Curtis Chau
技術作家

Curtis Chau擁有Carleton大學的電腦科學學士學位,專精於前端開發,擁有Node.js、TypeScript、JavaScript和React的專業知識。Curtis熱衷於建立直觀且美觀的使用者介面,喜愛使用現代框架並建立結構良好、視覺吸引力的手冊。

除了開發,Curtis對物聯網(IoT)有濃厚的興趣,探索創新的方法來整合硬體和軟體。在空閒時間,他喜歡玩遊戲和建立Discord機器人,結合他對技術的熱愛與創造力。

準備好開始了嗎?
Nuget 下載 2,134,203 | 版本: 2026.7 剛剛發布
Still Scrolling Icon

仍在滾動嗎?

想要快速證明嗎? PM > Install-Package IronXL.Excel
運行一個範例 觀看您的資料成為試算表。