使用 IRONXL 如何在 C# 中使用 Excel 自动调整单元格 Curtis Chau 已更新:七月 28, 2025 下载 IronXL NuGet 下载 DLL 下载 免费试用 法学硕士副本 法学硕士副本 将页面复制为 Markdown 格式,用于 LLMs 在 ChatGPT 中打开 向 ChatGPT 咨询此页面 在双子座打开 向 Gemini 询问此页面 在双子座打开 向 Gemini 询问此页面 打开困惑 向 Perplexity 询问有关此页面的信息 分享 在 Facebook 上分享 分享到 X(Twitter) 在 LinkedIn 上分享 复制链接 电子邮件文章 在当今数据驱动的世界中,Microsoft Excel 仍然是企业和专业人士不可或缺的工具。无论是处理数据、生成报告还是可视化数据,Excel 的多功能性都无可匹敌。 然而,当涉及到在 C# 中编程操作 Excel 文件时,开发人员常常面临挑战。 这时 IronXL 库便能派上用场,为 C# 环境中的 Excel 自动化提供无缝解决方案。 IronXL 库由 Iron Software 提供,为 C# .NET 和 VB.NET 环境中无缝处理 Excel 文档提供直观的 API。 使用 IronXL,无需安装 Microsoft Office 或 Excel Interop 组件。 它使开发人员能够轻松读取、编辑和创建 Excel 电子表格文件,完全支持包括 .NET 8、7、6、Core Frameworks 和 Azure 等在内的各种 .NET 框架。 在本文中,我们将学习如何使用 C# 和 IronXL 调节 Excel 中文件列宽和行高。 创建一个 Visual Studio 项目以演示 Excel 工作表中的自动调整单元格。 将 IronXL 库安装到项目中。 使用 IronXL 库自动调整列宽。 使用 IronXL 库自动调整行高。 使用 IronXL 库手动设置列宽和行高。 IronXL IronXL 库是一个通用的 .NET 库,旨在简化 C# 开发人员对 Excel 电子表格的操作。 提供快速且直观的 API,IronXL 使用户无需依赖 Office Interop 就能轻松访问、修改和生成 Excel 文件。其兼容性扩展到包括 .NET Core 和 Azure 在内的各种 .NET 框架,而无需任何特殊依赖项或安装 Microsoft Office。支持包括 C#、VB.NET 和 F# 在内的多种 .NET 语言,IronXL 满足了包括控制台、网络和桌面应用程序在内的广泛开发场景。 此外,IronXL 的兼容性跨多个平台,包括 Windows、Linux、macOS、Docker、Azure 和 AWS,成为寻求在多样化环境中实现高效 Excel 集成的开发人员的必备工具。 IronXL 库的关键功能 轻松集成:IronXL 无缝集成到 C# 应用程序中,提供简单直观的 Excel 自动化 API。 开发人员可以快速入门,学习曲线最低。 读写 Excel 文件:使用 IronXL,可以轻松地从现有的 Excel 文件中读取数据并将数据写入新的或现有的电子表格。 这种功能对于完成数据导入/导出和报告生成等任务至关重要。 格式化与样式:IronXL 使您能够对 Excel 单元格应用格式和样式,包括字体、颜色、边界等。 这确保您生成的 Excel 文件保持专业和精致的外观。 公式支持:需要进行复杂计算或将公式应用于 Excel 数据? IronXL 支持 Excel 公式,允许您自动执行计算和数据操作。 自动调整单元格:IronXL 提供的便捷功能之一是能够在 Excel 中自动调整单元格,确保内容紧凑地适应该单元格而不被截断。 步骤 1:创建一个 Visual Studio 项目以演示 Excel 工作表中的自动调整单元格。 要开始,请按以下所示创建一个 Visual Studio 项目。 从列表中选择控制台应用程序模板 提供项目名称和位置 从下拉菜单中选择所需的 .NET 版本并点击创建 步骤 2:将 IronXL 库安装到项目中。 从 Visual Studio NuGet 包管理器安装 IronXL 库 这个包也可以使用 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 SHELL 这样我们就可以开始编写代码了。 步骤 3:使用 IronXL 库自动调整列宽 IronXL 库的 AutoSizeColumn 方法调整列的宽度以适合其内容。 此方法根据单元格中使用的字体计算文本宽度。 如果系统中找不到确切的字体,它将尝试使用默认字体测量宽度。 如果找不到默认字体,它将尝试使用任何可用的字体。 但是,如果找不到字体,则会抛出异常。 它使用从零开始的列索引作为参数。 必须在 0 和 (ColumnCount - 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); } // Save the autofitted workbook as a new file 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); } // Save the autofitted workbook as a new file 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 ' Save the autofitted workbook as a new file workBook.SaveAs("autoResize.xlsx") ' Result file $vbLabelText $csharpLabel 代码解释 最初,我们使用 WorkBook.Load() 方法加载 FinancialSample.xlsx。 然后我们获取用于调整的列数。 我们遍历所有列索引以自动调整列宽。 最后,我们将结果保存为名为 autoResize.xlsx 的新文件。 输出文件 下面您可以看到所有列都已自动调整大小并可见。 步骤 4:使用 IronXL 库自动调整行高 AutoSizeRow 方法调整行的高度以适应其内容。 需要注意的是,此方法根据单元格中使用的字体计算文本高度。 如果系统中找不到确切的字体,它将尝试使用默认字体测量宽度。 如果找不到默认字体,它将尝试使用任何可用的字体。 但是,如果找不到字体,则会抛出异常。 它使用从零开始的行索引作为参数。 必须在 0 和 (RowCount - 1) 定义的范围内。 如果给定的 rowIndex 超出有效范围,则会抛出 ArgumentException。 当机器上未安装字体时,会抛出 SixLabors.Fonts.FontException。 输入Excel文件 在下面的示例中,您可以看到某些行未调整大小以合适数据。 现在让我们看看用 C# 代码自动调整 Excel 行高。 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++) { // Auto-fit row height for index i workSheet.AutoSizeRow(i); } // Save the autofitted workbook as a new file 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++) { // Auto-fit row height for index i workSheet.AutoSizeRow(i); } // Save the autofitted workbook as a new file 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 ' Auto-fit row height for index i workSheet.AutoSizeRow(i) Next i ' Save the autofitted workbook as a new file workBook.SaveAs("autoResizeRows.xlsx") ' Result file $vbLabelText $csharpLabel 代码解释 最初,我们使用 WorkBook.Load() 方法加载 FinancialSample.xlsx。 我们检索总行数。 我们遍历所有行索引以自动调整行高。 最后,我们将结果保存为名为 autoResizeRows.xlsx 的新文件。 输出 Excel 文件 步骤 5:使用 IronXL 手动设置列宽和行高 除了自动调整行和列大小外,IronXL 还提供了手动调整到特定行高值和特定列宽值的选项。 输入Excel文件 using IronXL; // Load example spreadsheet WorkBook workBook = WorkBook.Load("FinancialSample.xlsx"); WorkSheet workSheet = workBook.DefaultWorkSheet; // Manually set row height and column width RangeRow row = workSheet.GetRow(0); row.Height = 500; // Set height RangeColumn col = workSheet.GetColumn(0); col.Width = 5000; // Set width // Save the workbook with specific values set workBook.SaveAs("specificValue.xlsx"); using IronXL; // Load example spreadsheet WorkBook workBook = WorkBook.Load("FinancialSample.xlsx"); WorkSheet workSheet = workBook.DefaultWorkSheet; // Manually set row height and column width RangeRow row = workSheet.GetRow(0); row.Height = 500; // Set height RangeColumn col = workSheet.GetColumn(0); col.Width = 5000; // Set width // Save the workbook with specific values set workBook.SaveAs("specificValue.xlsx"); Imports IronXL ' Load example spreadsheet Private workBook As WorkBook = WorkBook.Load("FinancialSample.xlsx") Private workSheet As WorkSheet = workBook.DefaultWorkSheet ' Manually set row height and column width Private row As RangeRow = workSheet.GetRow(0) row.Height = 500 ' Set height Dim col As RangeColumn = workSheet.GetColumn(0) col.Width = 5000 ' Set width ' Save the workbook with specific values set workBook.SaveAs("specificValue.xlsx") $vbLabelText $csharpLabel 代码解释 使用 WorkBook.Load() 函数加载 FinancialSample.xlsx。 检索特定行和列以手动调整其高度和宽度。 设置所需的高度和宽度值。 将修改后的文件保存为名为 specificValue.xlsx 的文件。 输出 Excel 文件 许可 获取免费试用,免费使用所有 IronXL 功能 30 天。 获得的许可证必须放置在 appSettings.json 文件中: { "IronXL.License.LicenseKey": "myTrialKey" } 结论 通过 IronXL 中的 AutoSizeColumn 和 AutoSizeRow 等功能,开发人员可以轻松确保 Excel 电子表格根据其包含的内容动态调整,无论是导入的数据、动态报告、用户生成的内容,还是数据分析结果。 IronXL 与包括 .NET Core 和 Azure 在内的各种 .NET 框架的兼容性,确保开发人员能够将 Excel 自动化集成到多种应用程序中,而无需依赖于 Microsoft Office 或 Excel Interop。此外,IronXL 对多种 .NET 语言和平台的支持使其成为希望在各种开发环境中简化 Excel 操作任务的开发人员的多功能选择。 从本质上说,IronXL 让开发者能够在 Excel 自动化项目中提升生产力、精确性和灵活性,提供满足现代 C# 开发需求的全面功能套件。 无论是生成报告、分析数据还是呈现信息,IronXL 提供了在 C# 生态系统中实现 Excel 自动化所需的工具。 常见问题解答 我如何在Excel中使用C#自动调整单元格的大小? 要在Excel中使用C#自动调整单元格的大小,可以使用IronXL的AutoSizeColumn和AutoSizeRow方法,它们会自动调整列宽和行高以适应内容。 使用.NET库进行Excel自动化的好处是什么? 使用像IronXL这样的.NET库来进行Excel自动化,可以简化读取、写入和格式化Excel文件等任务,无需安装Microsoft Office。这提升了C#应用程序的生产力和准确性。 如何在C#中手动调整Excel中的列宽和行高? 使用IronXL,你可以通过GetColumn和GetRow方法来手动调整列宽和行高,以针对特定的列和行,然后设置它们的Width和Height属性。 IronXL是否兼容.NET Core项目? 是的,IronXL完全兼容.NET Core项目,允许开发人员在现代.NET环境中无缝集成Excel自动化功能。 如何在 .NET 项目中安装 IronXL? 要在.NET项目中安装IronXL,请使用Visual Studio的NuGet包管理器或在命令行中运行命令dotnet add package IronXL.Excel。 我可以在不安装Excel的情况下使用IronXL吗? 是的,IronXL允许你在不需要安装Microsoft Excel的情况下,在C#中以编程方式处理Excel文件。 如果我在自动调整单元格时遇到字体异常,该怎么办? 如果你在自动调整单元格时遇到SixLabors.Fonts.FontException,请确保系统上有必要的字体,因为IronXL使用这些字体来计算文本尺寸。 IronXL如何支持多种.NET语言? IronXL支持包括C#、VB.NET和F#在内的多种.NET语言,为在不同编程环境中工作的开发人员提供灵活性和多样性。 我应该在项目中哪里添加IronXL的许可证密钥? IronXL的许可证密钥应添加到项目的appSettings.json文件中,键为'IronXL.License.LicenseKey',以激活高级功能。 IronXL在Excel自动化中有哪些关键功能? IronXL提供了关键功能,如与C#应用程序的轻松集成、读取和写入Excel文件、应用格式、支持Excel公式以及自动调整单元格以优化内容显示。 Curtis Chau 立即与工程团队聊天 技术作家 Curtis Chau 拥有卡尔顿大学的计算机科学学士学位,专注于前端开发,精通 Node.js、TypeScript、JavaScript 和 React。他热衷于打造直观且美观的用户界面,喜欢使用现代框架并创建结构良好、视觉吸引力强的手册。除了开发之外,Curtis 对物联网 (IoT) 有浓厚的兴趣,探索将硬件和软件集成的新方法。在空闲时间,他喜欢玩游戏和构建 Discord 机器人,将他对技术的热爱与创造力相结合。 相关文章 已发布十二月 19, 2025 如何使用 C# Interop 与 IronXL.Excel 在 Excel 中创建透视表 无需 Office 依赖在 C# 中构建 Excel 数据透视表。IronXL 提供强大的数据处理功能,用于创建透视风格的报告,无需 Excel Interop 复杂化。 阅读更多 已发布十二月 18, 2025 C# 使用 IronXL.Excel 将带列标题的 DataGridView 导出到 Excel 学习如何在将DataGridView数据导出到Excel时保留列头。使用IronXL库的C#逐步教程。 阅读更多 已发布十二月 18, 2025 如何在 C# 中使用 IronXL 创建 Excel 报告 在 C# 中使用 IronXL 进行 Excel 报告生成。学习构建具有格式、公式和数据库集成的专业报告。 阅读更多 如何在 C# 中将 Excel 导入 SQL Server如何在 Python 中解析 Excel 文件
已发布十二月 19, 2025 如何使用 C# Interop 与 IronXL.Excel 在 Excel 中创建透视表 无需 Office 依赖在 C# 中构建 Excel 数据透视表。IronXL 提供强大的数据处理功能,用于创建透视风格的报告,无需 Excel Interop 复杂化。 阅读更多
已发布十二月 18, 2025 C# 使用 IronXL.Excel 将带列标题的 DataGridView 导出到 Excel 学习如何在将DataGridView数据导出到Excel时保留列头。使用IronXL库的C#逐步教程。 阅读更多
已发布十二月 18, 2025 如何在 C# 中使用 IronXL 创建 Excel 报告 在 C# 中使用 IronXL 进行 Excel 报告生成。学习构建具有格式、公式和数据库集成的专业报告。 阅读更多