IronXL 操作指南 自動調整列和欄 如何在 C# 中自動調整 Excel 行和列的大小 Chaknith Bin 更新:7月 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中自動調整列的大小? 您可以在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,738,553 | Version: 2025.11 剛發表 免費下載 NuGet 下載總數:1,738,553 檢視授權