IronXL 操作指南 自动调整行和列 如何在 C# 中自动调整 Excel 行和列的大小 Chaknith Bin 已更新:七月 22, 2025 下载 IronXL NuGet 下载 DLL 下载 免费试用 法学硕士副本 法学硕士副本 将页面复制为 Markdown 格式,用于 LLMs 在 ChatGPT 中打开 向 ChatGPT 咨询此页面 在双子座打开 向 Gemini 询问此页面 在双子座打开 向 Gemini 询问此页面 打开困惑 向 Perplexity 询问有关此页面的信息 分享 在 Facebook 上分享 分享到 X(Twitter) 在 LinkedIn 上分享 复制链接 电子邮件文章 This article was translated from English: Does it need improvement? Translated View the article in English 调整电子表格中的行和列的大小可以节省大量空间,并使其更易于阅读。 IronXL C# 库提供了自动调整行和列大小的功能。 由于它是用 C# 实现的,因此可以对所有现有行和列调用调整大小的方法,从而自动执行电子表格中的手动任务。 快速入门:通过一次调用自动调整列或行的大小 使用 IronXL,您只需一行代码即可调整任何行或列的大小——无需互操作,轻松便捷。 使用WorkSheet.AutoSizeColumn(int, bool)或WorkSheet.AutoSizeRow(int, bool)可以根据单元格内容(合并单元格可选)立即调整尺寸。 立即开始使用 NuGet 创建 PDF 文件: 使用 NuGet 包管理器安装 IronXL PM > Install-Package IronXL.Excel 复制并运行这段代码。 // One-line: auto-resize column A including merged cells workSheet.AutoSizeColumn(0, true); // Or auto-resize row 5 quickly workSheet.AutoSizeRow(4, true); 部署到您的生产环境中进行测试 立即开始在您的项目中使用 IronXL,免费试用! 免费试用30天 最小工作流程(5 个步骤) 下载 C# 库,即可在 Excel 中自动调整行和列的大小。 导入所需的Excel文件 使用AutoSizeRow方法自动调整行大小 使用AutoSizeColumn方法可以根据列的内容宽度调整列宽。 根据您的要求设置高度和宽度值 自动调整行大小示例 AutoSizeRow方法会根据指定行的内容自动调整指定行的高度。 :path=/static-assets/excel/content-code-examples/how-to/autosize-rows-columns-rows.cs using IronXL; // Load existing spreadsheet WorkBook workBook = WorkBook.Load("sample.xlsx"); WorkSheet workSheet = workBook.DefaultWorkSheet; // Apply auto resize on row 2 workSheet.AutoSizeRow(1); workBook.SaveAs("autoResize.xlsx"); Imports IronXL ' Load existing spreadsheet Private workBook As WorkBook = WorkBook.Load("sample.xlsx") Private workSheet As WorkSheet = workBook.DefaultWorkSheet ' Apply auto resize on row 2 workSheet.AutoSizeRow(1) workBook.SaveAs("autoResize.xlsx") $vbLabelText $csharpLabel 示范 自动调整列宽示例 使用AutoSizeColumn方法根据列的内容长度调整列的宽度。 :path=/static-assets/excel/content-code-examples/how-to/autosize-rows-columns-columns.cs using IronXL; // Load existing spreadsheet WorkBook workBook = WorkBook.Load("sample.xlsx"); WorkSheet workSheet = workBook.DefaultWorkSheet; // Apply auto resize on column A workSheet.AutoSizeColumn(0); workBook.SaveAs("autoResizeColumn.xlsx"); Imports IronXL ' Load existing spreadsheet Private workBook As WorkBook = WorkBook.Load("sample.xlsx") Private workSheet As WorkSheet = workBook.DefaultWorkSheet ' Apply auto resize on column A workSheet.AutoSizeColumn(0) workBook.SaveAs("autoResizeColumn.xlsx") $vbLabelText $csharpLabel 示范 所有行和列索引位置均采用从零开始的索引方式。 高级自动调整行大小示例 AutoSizeRow方法的另一个重载版本接受第二个参数,该参数为布尔值。 此参数允许您在调整大小时考虑合并的单元格。 :path=/static-assets/excel/content-code-examples/how-to/autosize-rows-columns-advance-rows.cs using IronXL; // Load existing spreadsheet WorkBook workBook = WorkBook.Load("sample.xlsx"); WorkSheet workSheet = workBook.DefaultWorkSheet; // Apply auto resize to rows individually workSheet.AutoSizeRow(0, true); workSheet.AutoSizeRow(1, true); workSheet.AutoSizeRow(2, true); workBook.SaveAs("advanceAutoResizeRow.xlsx"); Imports IronXL ' Load existing spreadsheet Private workBook As WorkBook = WorkBook.Load("sample.xlsx") Private workSheet As WorkSheet = workBook.DefaultWorkSheet ' Apply auto resize to rows individually workSheet.AutoSizeRow(0, True) workSheet.AutoSizeRow(1, True) workSheet.AutoSizeRow(2, True) workBook.SaveAs("advanceAutoResizeRow.xlsx") $vbLabelText $csharpLabel 示例 例如,假设内容的高度为192 像素,并且位于跨越3 行的合并区域中。 当对任何一行应用自动调整大小时,该算法会将内容的高度192 像素除以 3 ,从而使每行的高度为 64 像素。 请记住, AutoSizeRow方法需要单独应用于每一行。 如果该值设置为 false 会怎样? 当该值设置为 false 时, AutoSizeRow方法将根据高度最高的单元格的内容调整行高。 In Microsoft Excel, when a range of cells is merged, it retains only the value of the upper-left cell and clears the rest. However, with IronXL, the Merge operation is performed without erasing the values of other cells in the merged region. :path=/static-assets/excel/content-code-examples/how-to/autosize-rows-columns-advance-rows-false.cs using IronXL; workSheet.Merge("A1:A3"); workSheet.AutoSizeRow(0, false); workSheet.AutoSizeRow(1, false); workSheet.AutoSizeRow(2, false); Imports IronXL workSheet.Merge("A1:A3") workSheet.AutoSizeRow(0, False) workSheet.AutoSizeRow(1, False) workSheet.AutoSizeRow(2, False) $vbLabelText $csharpLabel For demonstration purposes, I manually adjusted the row height instead of using the Excel autofit row height function. 这样做是为了避免在顶部和底部增加明显的衬垫。 当useMergedCells参数设置为 false 时,合并单元格的高度不会被考虑在内。 因此,高度不会发生变化,每一行的高度都完全根据其内容计算。 高级自动调整列宽示例 与AutoSizeRow类似,您也可以让列的调整大小考虑合并单元格的宽度。 设置为true时,合并单元格的宽度将被考虑在内。 如果合并单元格的内容最长,则调整大小后的列的宽度将是合并单元格的宽度除以合并区域中的列数。 :path=/static-assets/excel/content-code-examples/how-to/autosize-rows-columns-advance-columns.cs using IronXL; // Load existing spreadsheet WorkBook workBook = WorkBook.Load("sample.xlsx"); WorkSheet workSheet = workBook.DefaultWorkSheet; // Apply auto resize to columns individually workSheet.AutoSizeColumn(0, true); workSheet.AutoSizeColumn(1, true); workSheet.AutoSizeColumn(2, true); workBook.SaveAs("advanceAutoResizeColumn.xlsx"); Imports IronXL ' Load existing spreadsheet Private workBook As WorkBook = WorkBook.Load("sample.xlsx") Private workSheet As WorkSheet = workBook.DefaultWorkSheet ' Apply auto resize to columns individually workSheet.AutoSizeColumn(0, True) workSheet.AutoSizeColumn(1, True) workSheet.AutoSizeColumn(2, True) workBook.SaveAs("advanceAutoResizeColumn.xlsx") $vbLabelText $csharpLabel 示例 例如,如果内容宽度为117 像素,并且位于跨越2 列的合并区域中,则对其中任何一列应用自动调整大小,每列的宽度将变为59 像素。 需要对每一列单独应用AutoSizeColumn方法。 如果该值设置为 false 会怎样? 当该值设置为false时, AutoSizeColumn方法会根据宽度最长的单元格的内容来调整宽度。 In Microsoft Excel, when a range of cells is merged, it keeps only the upper-left value and erases the rest. However, the IronXL Merge method does NOT erase the value of other cells in the merged region. :path=/static-assets/excel/content-code-examples/how-to/autosize-rows-columns-advance-columns-false.cs workSheet.Merge("A1:B1"); workSheet.AutoSizeColumn(0, false); workSheet.AutoSizeColumn(1, false); workSheet.Merge("A1:B1") workSheet.AutoSizeColumn(0, False) workSheet.AutoSizeColumn(1, False) $vbLabelText $csharpLabel 合并单元格的宽度没有得到优先考虑,导致宽度没有变化,因为每一列的宽度都是根据其内容宽度计算的。 Excel 和 IronXL 自动调整大小的区别 行 Excel 的自动调整行高功能会在单元格顶部和底部添加明显的边距。 列 Excel 的自动调整列宽功能也会给单元格添加左右边距,但不太明显。 手动调整高度和宽度示例 除了依靠AutoSizeRow和AutoSizeColumn方法来计算和调整内容的宽度和高度之外,您还可以灵活地手动调整列和行的宽度和高度,以满足您的特定要求。 这样,您可以根据需要将它们设置为特定值。 调整高度:设置RangeRow的Height属性。 调整宽度:设置RangeColumn的Width属性。 :path=/static-assets/excel/content-code-examples/how-to/autosize-rows-columns-manual.cs using IronXL; // Load existing spreadsheet WorkBook workBook = WorkBook.Load("sample.xlsx"); WorkSheet workSheet = workBook.DefaultWorkSheet; RangeRow row = workSheet.GetRow(0); row.Height = 10; // Set height RangeColumn col = workSheet.GetColumn(0); col.Width = 10; // Set width workBook.SaveAs("manualHeightAndWidth.xlsx"); IRON VB CONVERTER ERROR developers@ironsoftware.com $vbLabelText $csharpLabel Excel中的高度和宽度单位 Excel中高度和宽度的计量单位不同。 具体来说,高度以 1/20 磅为单位进行测量,而宽度则根据使用"正常"样式中指定的字体在一个单元格中可以容纳的"0"的数量来确定。 为了简化单位换算,让我们来解释 IronXL 中的值,它对应于 Microsoft Excel 中的显示像素。 需要注意的是,像素并不代表屏幕上的物理点; 更确切地说,它被定义为 1/96 英寸,而与屏幕的实际分辨率无关。 Excel本身的设计与分辨率无关,并不依赖于物理像素。 为了建立 IronXL 和 Excel 的高度和宽度测量值之间的关系,您可以考虑以下近似值: 高度: RangeRow.Height = 10将产生约1 pixel的高度。 宽度: RangeColumn.Width = 23.255将对应于1 像素。 常见问题解答 如何使用C#在Excel中自动调整行的大小? 5. 您可以利用 IronXL 中的 AutoSizeRow 方法,根据 Excel 工作表中内容的高度自动调整行高。 在Excel工作表中自动调整列大小的方法是什么? 6. IronXL 提供了 AutoSizeColumn 方法,该方法允许根据内容自动调整列宽。 如何确保在Excel中合并的单元格调整大小正确? 7. IronXL 支持通过在 AutoSizeRow 和 AutoSizeColumn 方法中使用布尔参数来考虑合并单元格,从而调整合并单元格的大小。 IronXL相较于Excel的本身自动调整功能有什么优势? IronXL提供了精确的单元格尺寸控制,不会像Excel的本身自动调整功能那样添加额外填充,从而允许更准确的单元格大小调整。 是否可以在不使用Microsoft Office Interop的情况下在C#中处理Excel文件? 是的,IronXL允许您直接在C#中处理Excel文件,而无需依赖Microsoft Office Interop,使其更高效且更易于使用。 如何使用C#在Excel文件中手动设置行和列的大小? 8. 您可以通过调整 IronXL 中 RangeRow 和 RangeColumn 的 Height 和 Width 属性手动设置行和列的高度和宽度。 IronXL在设置行高和列宽时使用什么单位? IronXL使用Excel的默认测量单位,其中高度为1/20点数,宽度按正常样式字体可以容纳的'0'的数量确定。 IronXL可以自动化Excel工作表尺寸调整过程吗? 是的,IronXL可以自动化行和列的调整,增强生产力,减少手动调整的需要。 是否有可用资源学习如何使用C#调整Excel行和列大小? 是的,IronXL提供了一个关于调整行和列的在线视频教程,可以在YouTube上观看,以帮助开发者学习如何使用这些功能。 自动调整对于Excel电子表格为什么重要? 自动调整对于提高Excel电子表格的可读性和美观性至关重要,确保所有内容都可见且整齐呈现,无需手动干预。 Chaknith Bin 立即与工程团队聊天 软件工程师 Chaknith 在 IronXL 和 IronBarcode 工作。他在 C# 和 .NET 方面有着深厚的专业知识,帮助改进软件并支持客户。他从用户互动中获得的见解有助于更好的产品、文档和整体体验。 准备开始了吗? Nuget 下载 1,738,553 | Version: 2025.11 刚刚发布 免费 NuGet 下载 总下载量:1,738,553 查看许可证