在实际环境中测试
在生产中测试无水印。
随时随地为您服务。
在数据驱动的当今世界,Microsoft Excel 仍然是企业和专业人士不可或缺的工具。无论是计算数字、创建报告还是可视化数据,Excel 的多功能性都是无与伦比的。 然而,在用 C# 对 Excel 文件进行编程操作时,开发人员往往会面临挑战。 这就是铁XL库发挥了作用,为 C# 环境中的 Excel 自动化提供了无缝解决方案。
铁XL从铁软件在 C# .NET 和 VB.NET 环境中无缝处理 Excel 文档的直观 API。 使用 IronXL.Excel,无需安装 Microsoft Office 或 Excel Interop 组件。 它能让开发人员毫不费力地读取、编辑和创建 Excel 电子表格文件,提供对各种 .NET Framework 的全面支持,包括 .NET 8、7、6、Core Frameworks 和 Azure 环境。
在本文中,我们将学习如何使用C#和IronXL自动调整Excel中的列宽和行高。
安装IronXL项目库。
使用IronXL库自动拟合列宽。
使用IronXL库自动拟合行高。
铁XLlibrary 是一个通用的 .NET 库,旨在简化 C# 开发人员对 Excel 电子表格的操作。 IronXL.Excel 提供快速直观的 API,用户无需依赖 Office Interop 即可轻松访问、修改和生成 Excel 文件。它的兼容性扩展到各种 .NET Framework,包括 .NET Core 和 Azure,不需要任何特殊的依赖关系或安装 Microsoft Office。IronXL for .NET 支持 C#、VB.NET 和 F# 等多种 .NET 语言,可满足包括控制台、Web 和桌面应用程序在内的各种开发场景的需要。 此外,IronXL.Excel 的兼容性横跨不同平台,包括 Windows、Linux、macOS、Docker、Azure 和 AWS,使其成为寻求在不同环境中高效集成 Excel 的开发人员不可或缺的工具。
易于集成:IronXL无缝集成 C# 应用程序,为 Excel 自动化提供简单直观的 API。 开发人员只需稍加学习即可快速上手。
读写 Excel 文件:使用 IronXL.Excel,您可以毫不费力地从现有 Excel 文件中读取数据,并将数据写入新的或现有电子表格。 这种能力对于数据导入/导出和报告生成等任务至关重要。
格式和样式:IronXL.Excel 使您能够对 Excel 单元格应用格式和样式,包括字体、颜色、边框等。 这可确保您生成的 Excel 文件保持专业和精致的外观。
公式支持:需要对 Excel 数据进行复杂计算或应用公式? IronXL.Excel 支持 Excel 公式,允许您自动进行计算和数据操作。
首先,让我们创建一个 Visual Studio 项目,如下图所示。 从列表中选择控制台应用程序模板
提供项目名称和地点
从下拉菜单中选择所需的 .NET 版本,然后单击创建
安装IronXL来自 Visual Studio NuGet 软件包管理器的库
也可使用 NuGet 命令行安装该软件包
dotnet add package IronXL.Excel --version 2024.3.20
// or
Install-Package IronXL.Excel
dotnet add package IronXL.Excel --version 2024.3.20
// or
Install-Package IronXL.Excel
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'dotnet add package IronXL.Excel --version 2024.3.20 Install-Package IronXL.Excel
有了这些,我们就可以开始编码了。
自动调整列大小*方法来自IronXL库调整列的宽度以适应其内容。 该方法根据单元格中使用的字体计算文本宽度。 如果系统上没有准确的字体,它将尝试使用默认字体进行测量。 如果找不到默认字体,将尝试使用任何可用字体。 但是,如果找不到字体,就会出现异常。 它使用基于零的列索引作为参数。 翻译必须在 0 和(列数 - 1). 如果提供的columnIndex超出有效范围,则会出现ArgumentException。 当机器上未安装字体时,会抛出SixLabors.Fonts.FontException**。
现在,让我们看看如何使用它来调整 Excel 文件的大小。您可以从以下网址下载 Excel 示例文件这里.
在这里,您可以看到列宽定义不当,因此非常难以阅读。 现在让我们
看看我们如何使用 IronXL 库在 excel 表中自动调整列宽。
using IronXL;
// Load example spreadsheet
WorkBook workBook = WorkBook.Load("FinancialSample.xlsx");
WorkSheet workSheet = workBook.DefaultWorkSheet;
var colCount = workSheet.Columns.Count();
for (int i = 0; i < colCount; i++)
{
// auto fit column width for index i
workSheet.AutoSizeColumn(i);
}
workBook.SaveAs("autoResize.xlsx"); // result file
using IronXL;
// Load example spreadsheet
WorkBook workBook = WorkBook.Load("FinancialSample.xlsx");
WorkSheet workSheet = workBook.DefaultWorkSheet;
var colCount = workSheet.Columns.Count();
for (int i = 0; i < colCount; i++)
{
// auto fit column width for index i
workSheet.AutoSizeColumn(i);
}
workBook.SaveAs("autoResize.xlsx"); // result file
Imports IronXL
' Load example spreadsheet
Private workBook As WorkBook = WorkBook.Load("FinancialSample.xlsx")
Private workSheet As WorkSheet = workBook.DefaultWorkSheet
Private colCount = workSheet.Columns.Count()
For i As Integer = 0 To colCount - 1
' auto fit column width for index i
workSheet.AutoSizeColumn(i)
Next i
workBook.SaveAs("autoResize.xlsx") ' result file
最初,我们使用 WorkBook.Load 加载 FinancialSample.xlsx() 方法。
然后,我们得到需要调整列宽的单元格范围,在本例中,我们得到列数。
然后,我们遍历所有索引,自动调整列宽的大小
下面您可以看到所有栏目都是自动调整大小并可见的。
AutoSizeRow 方法可调整行的高度以适应其内容。 值得注意的是,这种方法是根据单元格中使用的字体来计算文本高度的。 如果系统上没有准确的字体,它将尝试使用默认字体进行测量。 如果找不到默认字体,将尝试使用任何可用字体。 但是,如果找不到字体,就会出现异常。 它使用基于零的行索引作为参数。 翻译必须在 0 和(行数 - 1). 如果提供的rowIndex超出有效范围,将抛出ArgumentException。 当机器上未安装字体时,会抛出SixLabors.Fonts.FontException。
在下面的示例中,您可以看到一些行的大小没有适当固定数据。 现在让我们来看看自动拟合 excel 行高的 C# 代码。
using IronXL;
// Load example spreadsheet
WorkBook workBook = WorkBook.Load("FinancialSample.xlsx");
WorkSheet workSheet = workBook.DefaultWorkSheet;
var rowCount = workSheet.RowCount;
for (int i = 0; i < rowCount; i++)
{
workSheet.AutoSizeRow(i);
}
workBook.SaveAs("autoResizeRows.xlsx"); // result file
using IronXL;
// Load example spreadsheet
WorkBook workBook = WorkBook.Load("FinancialSample.xlsx");
WorkSheet workSheet = workBook.DefaultWorkSheet;
var rowCount = workSheet.RowCount;
for (int i = 0; i < rowCount; i++)
{
workSheet.AutoSizeRow(i);
}
workBook.SaveAs("autoResizeRows.xlsx"); // result file
Imports IronXL
' Load example spreadsheet
Private workBook As WorkBook = WorkBook.Load("FinancialSample.xlsx")
Private workSheet As WorkSheet = workBook.DefaultWorkSheet
Private rowCount = workSheet.RowCount
For i As Integer = 0 To rowCount - 1
workSheet.AutoSizeRow(i)
Next i
workBook.SaveAs("autoResizeRows.xlsx") ' result file
最初,我们使用 WorkBook.Load 加载 FinancialSample.xlsx() 方法。
然后,我们得到需要调整行高的单元格范围,在这种情况下,我们得到行数。
然后,我们遍历所有索引,自动调整行高的大小
除了自动调整行和列的大小外,IronXL 还提供将宽度和高度手动调整为特定行高值和特定列宽值的功能
using IronXL;
// Load example spreadsheet
WorkBook workBook = WorkBook.Load("FinancialSample.xlsx");
WorkSheet workSheet = workBook.DefaultWorkSheet;
RangeRow row = workSheet.GetRow(0);
row.Height = 500; // Set height
RangeColumn col = workSheet.GetColumn(0);
col.Width = 5000; // Set width
workBook.SaveAs("specificValue.xlsx");
using IronXL;
// Load example spreadsheet
WorkBook workBook = WorkBook.Load("FinancialSample.xlsx");
WorkSheet workSheet = workBook.DefaultWorkSheet;
RangeRow row = workSheet.GetRow(0);
row.Height = 500; // Set height
RangeColumn col = workSheet.GetColumn(0);
col.Width = 5000; // Set width
workBook.SaveAs("specificValue.xlsx");
Imports IronXL
' Load example spreadsheet
Private workBook As WorkBook = WorkBook.Load("FinancialSample.xlsx")
Private workSheet As WorkSheet = workBook.DefaultWorkSheet
Private row As RangeRow = workSheet.GetRow(0)
row.Height = 500 ' Set height
Dim col As RangeColumn = workSheet.GetColumn(0)
col.Width = 5000 ' Set width
workBook.SaveAs("specificValue.xlsx")
最初,我们使用 **WorkBook.Load 加载 FinancialSample.xlsx()函数。
然后我们得到需要调整行高的单元格范围,以及需要调整列宽的单元格范围
然后我们设置高度和宽度值
获得的许可证必须放在 appSettings.json 文件中
{
"IronXL.License.LicenseKey":"myTrialKey"
}
{
"IronXL.License.LicenseKey":"myTrialKey"
}
If True Then
"IronXL.License.LicenseKey":"myTrialKey"
End If
自动调整列大小和自动调整行大小等功能来自于铁XL现在,无论是导入数据、动态报告、用户生成的内容,还是数据分析结果,开发人员都可以毫不费力地确保 Excel 电子表格根据所包含的内容进行动态调整。
铁XLIronXL 与各种 .NET Framework(包括 .NET Core 和 Azure)的兼容性确保开发人员可以将 Excel 自动化集成到各种应用程序中,而无需依赖 Microsoft Office 或 Excel Interop。此外,IronXL.Excel 支持多种 .NET 语言和平台,这使它成为开发人员在不同环境中简化 Excel 操作任务的多功能选择。
实质上IronXL在 Excel 自动化项目中,《Excel 自动化》可帮助开发人员提高工作效率、准确性和灵活性,提供一整套功能以满足现代 C# 开发的需求。 无论是生成报告、分析数据还是展示信息、IronXL提供了在 C# 生态系统内实现 Excel 自动化所需的工具。