Excel 表格中,由于各种数据的复杂性,可能存在单元格中的数据字号大小、数据内容长度不一而出现列宽过宽、过窄或者行高过大、过小的问题。常见的解决方法是调整行高、列宽。通过 C# 代码,我们可以使用 Spire.XLS for .NET 提供的 XlsRange.AutoFitRows() 方法和 XlsRange.AutoFitColumns() 方法来设置指定数据范围或整个工作表自适应行高、列宽。下面是详细步骤及代码。
安装 Spire.XLS for .NET
首先,您需要添加 Spire.XLS for .NET 包中包含的 DLL 文件作为 .NET 项目中的引用。DLL文件可以从此链接下载或通过 NuGet 安装。
PM> Install-Package Spire.XLS
设置自适应行高、列宽
以下是通过代码设置自适应行高、列宽的具体步骤:
- 创建 Workbook 类的对象,并通过 Workbook.LoadFromFile(string fileName) 方法加载 Excel 文档。
- 通过 Workbook.Worksheets[int index] 属性获取指定工作表。
- 调用 XlsRange.AutoFitRows() 方法设置自适应行高。
- 调用 XlsRange.AutoFitColumns() 方法设置自适应列宽。
- 通过 Workbook.SaveToFile(string fileName, FileFormat fileFormat) 方法保存文档到指定路径。
- C#
- VB.NET
using Spire.Xls;
namespace AutoFit_XLS
{
class Program
{
static void Main(string[] args)
{
//创建一个Workbook类的对象,并加载测试文档
Workbook workbook = new Workbook();
workbook.LoadFromFile("sample.xlsx");
//获取工作表
Worksheet worksheet = workbook.Worksheets[0];
//设置列宽、行高为自适应(应用于指定数据范围)
worksheet.AllocatedRange["A1:F15"].AutoFitColumns();
worksheet.AllocatedRange["A1:F15"].AutoFitRows();
//设置列宽、行高为自适应(应用于整个工作表)
//worksheet.AllocatedRange.AutoFitColumns();
//worksheet.AllocatedRange.AutoFitRows();
//保存文档
workbook.SaveToFile("result.xlsx", FileFormat.Version2013);
}
}
}
Imports Spire.Xls
Namespace AutoFit_XLS
Class Program
Private Shared Sub Main(args As String())
'创建一个Workbook类的对象,并加载测试文档
Dim workbook As New Workbook()
workbook.LoadFromFile("sample.xlsx")
'获取工作表
Dim worksheet As Worksheet = workbook.Worksheets(0)
'设置列宽、行高为自适应(应用于指定数据范围)
worksheet.AllocatedRange("A1:F15").AutoFitColumns()
worksheet.AllocatedRange("A1:F15").AutoFitRows()
'设置列宽、行高为自适应(应用于整个工作表)
'worksheet.AllocatedRange.AutoFitColumns();
'worksheet.AllocatedRange.AutoFitRows();
'保存文档
workbook.SaveToFile("result.xlsx", FileFormat.Version2013)
End Sub
End Class
End Namespace
申请临时 License
如果您希望删除结果文档中的评估消息,或者摆脱功能限制,请 该Email地址已收到反垃圾邮件插件保护。要显示它您需要在浏览器中启用JavaScript。 获取有效期 30 天的临时许可证。