IronXL 操作指南 自動調整列和欄 How to Auto Resize Rows and Columns Chaknith Bin 更新日期:7月 22, 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 This article was translated from English: Does it need improvement? Translated View the article in English 調整試算表中行和列的大小可以節省大量空間,並使其更易讀。 IronXL C# 庫提供自動調整行列大小的功能。 由於這是在 C# 中完成的,可以為所有現有行和列調用調整大小的方法,從而在電子表格中自動化手動任務。 作為標題:2(快速入門:通過一次調用自動調整列或行) 使用 IronXL,你可以只用一行代碼調整任何行或列的大小——無需 Interop,簡單高效。 使用 WorkSheet.AutoSizeColumn(int, bool) 或 WorkSheet.AutoSizeRow(int, bool) 根據單元格內容即時調整尺寸(可選合併單元格)。 Get started making PDFs with NuGet now: Install IronXL with NuGet Package Manager PM > Install-Package IronXL.Excel Copy and run this code snippet. // One-line: auto-resize column A including merged cells workSheet.AutoSizeColumn(0, true); // Or auto-resize row 5 quickly workSheet.AutoSizeRow(4, true); Deploy to test on your live environment Start using IronXL in your project today with a free trial Free 30 day Trial class="hsg-featured-snippet"> 簡化工作流程(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 示範 class="content-img-align-center"> class="center-image-wrapper"> 自動調整列示例 使用 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 示範 class="content-img-align-center"> class="center-image-wrapper"> 提示所有行和列的索引位置均為零基索引。 高級自動調整行示例 另一個 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 px 除以 3,結果是每行的高度為 64 px。 請記住,AutoSizeRow 方法需要單獨應用於每一行。 class="content-img-align-center"> class="center-image-wrapper"> 如果值設置為 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 class="content-img-align-center"> class="center-image-wrapper"> 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 方法單獨應用於每一列。 class="content-img-align-center"> class="center-image-wrapper"> 如果值設置為 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 class="content-img-align-center"> class="center-image-wrapper"> 合併單元格的寬度沒有被優先考慮,導致寬度沒有變化,因為每列的寬度是基於其內容的寬度計算出來的。 Excel 和 IronXL 自動調整的區別 行 Excel 的自動適應行高功能會對單元格應用顯著的上下填充。 class="content-img-align-center"> class="center-image-wrapper"> 列 Excel 的自動適應列寬功能同樣會對單元格應用左右填充,但不太明顯。 class="content-img-align-center"> class="center-image-wrapper"> 手動調整高度和寬度示例 除了依賴 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 像素 的高度。 寬度: RangeColumn.Width = 23.255 將對應 1 像素。 常見問題解答 如何使用C#在Excel中自動調整列的大小? 您可以在IronXL中利用AutoSizeRow方法,根據Excel表中的內容自動調整列的高度。 在Excel表中自動調整欄大小的方法是什麼? IronXL提供AutoSizeColumn方法,允許根據內容自動調整欄的寬度。 如何確保Excel中的合併單元格正確調整大小? IronXL支援使用AutoSizeRow和AutoSizeColumn方法中的Boolean參數,在調整大小時考慮合併單元格。 IronXL相較於Excel的本地自動調整功能有什麼優勢? IronXL提供精確的單元格尺寸控制,而不會有Excel本地自動調整功能加入的填充,允許更精確的單元格尺寸設定。 是否可以在C#中操作Excel文件而不使用Microsoft Office Interop? 是的,IronXL允許您直接在C#中操作Excel文件,而不依賴Microsoft Office Interop,使其更加高效且易於使用。 如何使用C#在Excel文件中手動設置列和欄的大小? 您可以通過在IronXL中調整RangeRow和RangeColumn的Height和Width屬性來手動設置列和欄的高度和寬度。 IronXL在設置列高度和欄寬度時使用什麼單位? IronXL使用Excel的默認測量單位,其中高度為1/20點,寬度由“Normal”樣式中的字體可以容納的'0'數量決定。 IronXL可以自動化調整Excel表格的大小嗎? 是的,IronXL可以自動調整列和欄的大小,通過減少手動調整需求來提高生產力。 是否有資源可供學習如何使用C#調整Excel列和欄的大小? 是的,IronXL提供了關於調整列和欄大小的視頻教程,可在YouTube上找到,以幫助開發人員學習如何使用這些功能。 為什麼自動調整對Excel電子表格很重要? 自動調整對提高Excel電子表格的可讀性和美學非常重要,確保所有內容可見且呈現整齊無需手動干預。 Chaknith Bin 立即與工程團隊聊天 軟體工程師 Chaknith 在 IronXL 和 IronBarcode 上工作。他對 C# 和 .NET 擁有深厚的專業知識,幫助改進了軟體並支持客戶。他從用戶互動中得到的見解有助於改善產品、文檔和整體體驗。 準備好開始了嗎? Nuget 下載 1,686,155 | 版本: 2025.11 剛剛發布 免費 NuGet 下載 總下載量:1,686,155 查看許可證