如何设置 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, BottomBorderLeftBorder 属性添加边框,自定义选定单元格、列、行或区域的外观。 从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 属性并输入所需的颜色或十六进制代码。 此外, 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 中的文本对齐方式可以全面控制单元格中内容的位置。 将数据导出到不同格式时,保持视觉一致性至关重要,因此这一功能尤为重要。 对齐系统可与 字体样式等其他格式化功能配合使用,以创建外观专业的电子表格。

下图展示了IronXL提供的所有对齐选项:

Excel 电子表格,通过可视化示例显示水平和垂直文本对齐选项

水平对齐枚举

  • General :常规水平对齐方式。 文本数据左对齐。 数字、日期和时间采用右对齐。 布尔类型居中。 更改对齐方式不会影响数据类型。 在未设置特定对齐方式时,这是默认对齐方式。
  • Left :即使在从右到左的模式下,水平对齐方式也为左对齐。 将内容对齐到单元格的左边缘。 如果指定了缩进量,则单元格的内容将从左侧缩进指定的字符空格数。
  • 居中:居中水平对齐。 文本在整个单元格中居中。 这通常用于标题和称谓。
  • 右对齐:右对齐的水平对齐方式。 单元格内容在单元格右边对齐,即使在从右到左模式下也是如此。 这通常用于数字数据的表述。
  • 填充:单元格值填充整个宽度。 如果右侧相邻单元格也具有相同的填充对齐方式,则它们也会被填充。 附加规则:
    • 只能附加整数值,不能附加部分值。
    • 列宽不会"最佳适应"填充值。
    • 如果要添加的额外值超出单元格的左右边界,则不会添加该值。
    • 填充的是单元格的显示值,而不是其底层的原始数值。
  • Justify :水平两端对齐(左右齐平)。 将文本自动换行应用于单元格,并确保每一行的第一个单词与单元格的左边缘对齐,最后一个单词与单元格的右边缘对齐(最后一行除外)。 这对于包含段落的文本较多的单元格尤其有用。
  • CenterSelection:在多个单元格中将最左侧单元格的内容水平居中。 它在视觉上看起来类似于合并细胞,但实际上并没有合并它们。 使用此选项有助于防止合并单元格可能出现的潜在问题。
  • Distributed :单元格内每行文本中的每个"单词"均匀分布在单元格的宽度上,左右边缘齐平。 如果需要应用缩进值,则单元格的左右两侧都会按缩进值进行填充。

垂直对齐枚举

  • None:默认对齐方式,通常为底部对齐方式。
  • Top :将内容对齐到单元格顶部。 适用于内容高度不同的单元格。
  • Center :使单元格内的内容垂直居中。 这将创建一个平衡的外观,尤其是与水平居中相结合时。
  • Bottom :将内容对齐到单元格底部。 这是大多数电子表格应用程序的标准行为。
  • Justify :将文本行均匀分布在单元格的高度上,上下边距齐平。 其工作原理类似于水平对齐,通过自动换行并调整行间距来填充整行高度。
  • Distributed :将每行文本中的每个"单词"均匀分布在单元格的高度上,水平文本方向上的顶部和底部边距齐平。 在垂直文本方向上,它的行为与分布式水平对齐方式完全相同,从上到下均匀分布文本行。

在使用对齐设置时,请考虑它们如何与其他单元格属性交互。 例如,当您自动调整行和列的大小时,对齐方式的设置将影响内容在自动调整大小的单元格中的匹配方式。 同样,当使用公式工作时,适当的对齐方式可以使您的电子表格计算更具可读性和专业性。

常见问题解答

如何在不使用 Microsoft Office 的情况下用 C# 为 Excel 单元格添加边框?

您可以使用 IronXL.Excel 的样式 API 为 Excel 单元格添加边框。只需访问单元格的样式属性,然后使用 LeftBorder.Type、RightBorder.Type、TopBorder.Type 和 BottomBorder.Type 等属性设置中虚线等边框类型即可。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 对物联网 (IoT) 有浓厚的兴趣,探索将硬件和软件集成的新方法。在空闲时间,他喜欢玩游戏和构建 Discord 机器人,将他对技术的热爱与创造力相结合。

准备开始了吗?
Nuget 下载 1,846,091 | 版本: 2026.2 刚刚发布