C# 设置Excel中文本的对齐方式、换行、和旋转
在 Excel 中,对齐、换行和旋转是用于设置单元格内容显示方式的功能。合理的设置这些文本选项可以帮助用户更好地组织和展示 Excel 表格中的数据,使表格更加清晰、易读,提高数据的可视化效果。本文将介绍如何在.NET 程序中通过C# 设置Excel单元格中文本的对齐方式、方向以及换行。
安装所需.NET库
本文需要用到一个名为 Free Spire.XLS for .NET 的免费国产库。该库支持多种Excel文档操作功能,包括生成、读取、编辑、打印、转换等。
该库可以直接通过Visual Studio > NuGet程序包管理器中搜索 “FreeSpire.XLS” 来安装。也可以通过该链接下载产品包后手动添加引用。
C# 设置Excel中文本的对齐方式、方向以及换行
免费Spire.XLS库的 CellStyle
类提供了多种属性来设置单元样式包括其中的文本对齐。旋转等。具体步骤参考:
- 创建一个Excel工作簿并获取其中指定工作表。
- 通过
Worksheet.Range[]
属性获取指定单元格或单元格范围 - 通过
CellRange.Style
属性获取单元格样式。 - 通过
CellStyle.HorizontalAlignment
属性设置单元格中文字的水平对齐方式,包括左对齐(HorizontalAlignType.Left
)、水平居中对齐(HorizontalAlignType.Center
)、和右对齐(HorizontalAlignType.Right
)。 - 通过
CellStyle.VerticalAlignment
属性设置单元格中文字的垂直对齐方式,包括靠上对齐(VerticalAlignType.Top
)、垂直居中对齐(VerticalAlignType.Center
)、和靠下对齐(VerticalAlignType.Bottom
)。 - 通过
CellStyle.Rotation
属性旋转单元格中的文字旋转至指定角度。 - 通过
CellStyle.WrapText
属性设置文本自动换行,手动换行可以添加换行符\n
。 - 保存生成文件。
C#代码:
using Spire.Xls;namespace SetExcelColumnWidth
{class Program{static void Main(string[] args){// 创建工作簿Workbook wookbook = new Workbook();// 获取第一张工作表Worksheet sheet = wookbook.Worksheets[0];// 添加说明文字sheet.Range["B1"].Text = "文字对齐方式";sheet.Range["D1"].Text = "文字方向";sheet.Range["F1"].Text = "文字换行";sheet.Range["B1:F1"].Style.Font.IsBold = true;sheet.Range["B1:F1"].Style.KnownColor = ExcelColors.LightGreen;// 左对齐sheet.Range["B3"].Text = "左对齐";sheet.Range["B3"].Style.HorizontalAlignment = HorizontalAlignType.Left;// 水平居中sheet.Range["B4"].Text = "水平居中";sheet.Range["B4"].Style.HorizontalAlignment = HorizontalAlignType.Center;// 右对齐sheet.Range["B5"].Text = "右对齐";sheet.Range["B5"].Style.HorizontalAlignment = HorizontalAlignType.Right;// 居上sheet.Range["B7"].Text = "靠上";sheet.Range["B7"].Style.VerticalAlignment = VerticalAlignType.Top;// 垂直居中sheet.Range["B8"].Text = "垂直居中";sheet.Range["B8"].Style.VerticalAlignment = VerticalAlignType.Center;// 居下sheet.Range["B9"].Text = "靠下";sheet.Range["B9"].Style.VerticalAlignment = VerticalAlignType.Bottom;// 分散对齐并居中sheet.Range["B10"].Text = "水平分散对齐+垂直居中";sheet.Range["B10"].Style.HorizontalAlignment = HorizontalAlignType.Distributed;sheet.Range["B10"].Style.VerticalAlignment = VerticalAlignType.Center;// 逆时针旋转45°sheet.Range["D7"].Text = "旋转45°";sheet.Range["D7"].Style.Rotation = 45;// 逆时针旋转90°sheet.Range["D8"].Text = "旋转90°";sheet.Range["D8"].Style.Rotation = 90;// 顺时针旋转45°sheet.Range["D9"].Text = "旋转-45°";sheet.Range["D9"].Style.Rotation = -45;// 顺时针旋转90°sheet.Range["D10"].Text = "旋转-90°";sheet.Range["D10"].Style.Rotation = -90;// 添加‘\n’进行文字换行sheet.Range["F8"].Text = "这是\n手动\n换行";// 自动换行sheet.Range["F9"].Text = "这一段话设置了自动换行";sheet.Range["F9"].Style.WrapText = true;// 设置行高列宽sheet.Columns[1].ColumnWidth = 15;sheet.Columns[3].ColumnWidth = 15;sheet.Columns[5].ColumnWidth = 15;sheet.Range["B3:B5"].RowHeight = 15;sheet.Range["B7:B10"].RowHeight = 50;// 保存文档wookbook.SaveToFile("Excel文本对齐.xlsx", FileFormat.Version2013);}}
}
生成文档:
Spire.XLS 库的API参考:
https://www.e-iceblue.com/apireference/net/Spire.XLS/html/N_Spire_Xls.htm