使用 IRONXL 如何在 C# 中使用 IronXL 自動調整 Excel 單元格 Jordi Bardia 更新日期:7月 28, 2025 Download IronXL NuGet 下載 DLL 下載 Start Free Trial Copy for LLMs Copy for LLMs Copy page as Markdown for LLMs Open in ChatGPT Ask ChatGPT about this page Open in Gemini Ask Gemini about this page Open in Grok Ask Grok about this page Open in Perplexity Ask Perplexity about this page Share Share on Facebook Share on X (Twitter) Share on LinkedIn Copy URL Email article 在当今数据驱动的世界中,Microsoft Excel 仍然是企业和专业人士不可或缺的工具。无论是计算数据、创建报告还是可视化数据,Excel 的多功能性无可匹敌。 然而,当涉及到在 C# 中以编程方式操作 Excel 文件时,开发人员经常面临挑战。 这就是 IronXL 库发挥作用的地方,为 C# 环境中的 Excel 自动化提供无缝解决方案。 IronXL library from 来自 Iron Software 的 IronXL 库为在 C# .NET 和 VB.NET 环境中顺利处理 Excel 文档提供了直观的 API。 使用 IronXL,无需安装 Microsoft Office 或 Excel 互操作组件。 它使开发人员能够轻松地读取、编辑和创建 Excel 电子表格文件,并提供对包括 .NET 8、7、6、核心框架和 Azure 环境在内的各种 .NET 框架的全面支持。 在本文中,我们将学习如何使用 C# 和 IronXL 在 Excel 中自动调整列宽和行高。 创建一个 Visual Studio 项目以演示 Excel 工作表中的自动调整单元格。 将 IronXL 库安装到项目中。 使用 IronXL 库自动调整列宽。 使用 IronXL 库自动调整行高。 使用 IronXL 库手动设置列宽和行高。 IronXL IronXL 库是一个多功能的 .NET 库,旨在简化 C# 开发人员的 Excel 电子表格操作。 提供快速直观的 API,IronXL 使用户能够轻松访问、修改和生成 Excel 文件,而无需依赖 Office 互操作。其兼容性扩展到各种 .NET 框架,包括 .NET 核心和 Azure,无需任何特殊依赖项或安装 Microsoft Office。支持多种 .NET 语言,如 C#、VB.NET 和 F#,IronXL 满足各种开发场景,包括控制台、Web 和桌面应用程序。 此外,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 框架(包括 .NET 核心和 Azure)的兼容性,确保开发人员可以将 Excel 自动化集成到广泛的应用程序中,而无需依赖 Microsoft Office 或 Excel 互操作。此外,IronXL 对多种 .NET 语言和平台的支持,使其成为开发人员简化跨多个环境的 Excel 操作任务的多功能选择。 从本质上讲,IronXL 授予开发人员在 Excel 自动化项目中提升生产力、准确性和灵活性的能力,提供一个全面的功能套件,以满足现代 C# 开发的需求。 无论是生成报告、分析数据还是展示信息,IronXL 提供了在 C# 生态系统中出众的 Excel 自动化工具。 常見問題解答 如何使用 C# 自動調整 Excel 單元格大小? 要在 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 專案,允許開發人員將 Excel 自動化功能無縫地整合到現代 .NET 環境中。 如何在 .NET 項目中安裝 IronXL? 要在 .NET 專案中安裝 IronXL,使用 Visual Studio NuGet Package Manager 或在命令行中運行命令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 公式,以及自動調整單元格以優化內容顯示。 Jordi Bardia 立即與工程團隊聊天 軟體工程師 Jordi 在 Python、C# 和 C++ 上最得心應手,當他不在 Iron Software 展現技術時,便在做遊戲編程。在分担产品测测试,产品开发和研究的责任时,Jordi 为持续的产品改进增值。他说这种多样化的经验使他受到挑战并保持参与, 而这也是他与 Iron Software 中工作一大乐趣。Jordi 在佛罗里达州迈阿密长大,曾在佛罗里达大学学习计算机科学和统计学。 相關文章 發表日期 10月 27, 2025 如何在 C# 中創建 Excel 樞紐分析表 學習使用 C# Interop 和 IronXL 創建 Excel 中的樞紐分析表,這是一個清晰的分步指南。 閱讀更多 發表日期 10月 27, 2025 如何在 C# 中將 DataGridView 匯出為 Excel 並保留列標題 學習如何在 C# 教程中使用 IronXL library 將 DataGridView 資料匯出為 Excel 同時保留列標題。分步教學。 閱讀更多 發表日期 10月 27, 2025 如何使用 IronXL 的 .NET Core CSV 讀取器 學習使用 IronXL 作為 .NET Core CSV 讀取器的有效方法,提供實用範例。 閱讀更多 如何在 C# 中將 Excel 導入到 SQL Server如何在 Python 中解析 Excel 文件
發表日期 10月 27, 2025 如何在 C# 中將 DataGridView 匯出為 Excel 並保留列標題 學習如何在 C# 教程中使用 IronXL library 將 DataGridView 資料匯出為 Excel 同時保留列標題。分步教學。 閱讀更多