如何使用 C# 在 Excel 中自動調整儲存格大小
在當今數據驅動的世界中,微軟Excel仍然是企業和專業人士不可或缺的工具。無論是處理數據、建立報告或視覺化數據,Excel的多功能性都無可匹敵。 然而,當使用 C# 以程式設計方式操作 Excel 檔案時,開發人員經常面臨挑戰。 這時IronXL庫就派上了用場,它為在 C# 環境中實現 Excel 自動化提供了無縫解決方案。
Iron Software的IronXL函式庫提供了直覺的 API,可在 C# .NET 和 VB.NET 環境中無縫處理 Excel 文件。 使用 IronXL,無需安裝 Microsoft Office 或 Excel Interop 元件。 它使開發人員能夠輕鬆讀取、編輯和建立 Excel 電子表格文件,並完全支援各種 .NET 框架,包括 .NET 8、7、6、Core Frameworks 和 Azure 環境。
本文將介紹如何使用 C# 和 IronXL 在 Excel 中自動調整列寬和列高。
- 建立一個Visual Studio專案來示範 Excel 工作表中的自動調整儲存格大小功能。
- 將IronXL庫安裝到專案中。
- 使用IronXL庫自動調整列寬。
- 使用IronXL庫自動調整行高。
- 使用IronXL庫手動設定列寬和行高。
IronXL
IronXL庫是一個功能強大的 .NET 庫,旨在簡化 C# 開發人員對 Excel 電子表格的操作。 IronXL 提供快速直覺的 API,讓用戶無需依賴 Office Interop 即可輕鬆存取、修改和產生 Excel 檔案。它相容於多種 .NET 框架,包括 .NET Core 和 Azure,無需任何特殊依賴項或安裝 Microsoft Office。 IronXL 支援多種 .NET 語言,例如 C#、VB.NET 和 F#,可滿足包括控制台應用程式、Web 應用程式和桌面應用程式在內的各種開發場景。 此外,IronXL 的兼容性涵蓋了 Windows、Linux、macOS、Docker、Azure 和 AWS 等不同平台,使其成為開發人員在各種環境中尋求高效 Excel 整合的必備工具。
IronXL庫的主要特點
1.輕鬆集成: IronXL與 C# 應用程式無縫集成,為 Excel 自動化提供簡單直覺的 API。 開發者可以快速上手,學習曲線非常平緩。 2.讀取和寫入 Excel 文件:使用 IronXL,您可以輕鬆地從現有的 Excel 文件中讀取數據,並將數據寫入新的或現有的電子表格。 此功能對於資料導入/匯出和報告生成等任務至關重要。 3.格式與樣式: IronXL 可讓您對 Excel 儲存格套用格式和樣式,包括字型、顏色、邊框等。 這樣可以確保您產生的 Excel 檔案保持專業、美觀的外觀。 4.公式支援:需要執行複雜的計算或將公式應用於 Excel 資料嗎? IronXL 支援 Excel 公式,讓您可以自動執行計算和資料處理。 5.自動調整儲存格大小: IronXL 提供的便利功能是能夠自動調整 Excel 中的儲存格大小,確保內容整齊地適應每個儲存格,而不會被截斷。
步驟 1:建立一個 Visual Studio 專案來示範 Excel 工作表中的自動調整儲存格大小功能。
首先,讓我們建立一個 Visual Studio 項目,如下所示。 從清單中選擇控制台應用程式模板。
如何在 Excel 中使用 C# 自動調整儲存格大小:圖 1 - 開啟 Visual Studio,並新增 C# 控制台應用程式類型的新專案。
請提供項目名稱和地點
如何在 Excel 中使用 C# 自動調整儲存格大小:圖 2 - 接下來,指定項目名稱和位置。
從下拉式選單中選擇所需的 .NET 版本,然後按一下"建立"。
如何在 Excel 中使用 C# 自動調整儲存格大小:圖 3 - 然後,選擇所需的 .NET Framework 版本並按一下"建立"。
步驟 2:將 IronXL 庫安裝到專案中。
從 Visual Studio NuGet 套件管理器安裝IronXL庫
如何在 Excel 中使用 C# 自動調整儲存格大小:圖 4 - 使用 NuGet 套件管理員的搜尋列中搜尋"IronXL"來安裝 IronXL,然後選擇項目並按一下"安裝"按鈕。
該軟體包也可以使用 NuGet 命令列進行安裝。
dotnet add package IronXL.Excel --version 2024.3.20
# or
Install-Package IronXL.Exceldotnet add package IronXL.Excel --version 2024.3.20
# or
Install-Package IronXL.Excel如何使用 C# 在 Excel 中自動調整儲存格大小:圖 5 - IronXL.Excel NuGet 套件
這樣一來,我們就可以開始寫程式了。
步驟 3:使用 IronXL 庫自動調整列寬
IronXL庫中的AutoSizeColumn方法可以調整列的寬度以適應其內容。 此方法根據單元格中使用的字體計算文字寬度。 如果系統中沒有所需的字體,則會嘗試使用預設字體進行測量。 如果找不到預設字體,它將嘗試使用任何可用的字體。 但是,如果找不到字體,則會拋出異常。 它使用從零開始的列索引作為參數。 它必須在 0 和(列數 - 1)定義的範圍內。 如果提供的columnIndex超出有效範圍,則會拋出ArgumentException 。 當機器上未安裝任何字體時,會拋出SixLabors.Fonts.FontException異常。
現在,我們來看看如何用它來調整Excel檔案的大小。您可以從這裡下載一個範例Excel檔案。
輸入檔
您可以看到,這裡的列寬沒有正確定義,因此很難閱讀。 現在我們開始吧
看看我們如何使用 IronXL 庫在 Excel 表格中自動調整列寬。
如何使用 C# 在 Excel 中自動調整儲存格大小:圖 6 - 輸入 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 fileusing 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程式碼解釋
- 首先,我們使用
WorkBook.Load()方法來載入 FinancialSample.xlsx。 - 然後我們得到需要調整的列數。
- 我們遍歷所有列索引,自動調整列寬。
- 最後,我們將結果儲存到名為
autoResize.xlsx的新檔案中。
輸出檔案
您可以在下方看到所有列都已自動調整大小並可見。
步驟 4:使用 IronXL 庫自動調整行高
AutoSizeRow方法會調整行的高度以適應其內容。 需要注意的是,這種方法是根據單元格中使用的字體來計算文字高度的。 如果系統中沒有所需的字體,則會嘗試使用預設字體進行測量。 如果找不到預設字體,它將嘗試使用任何可用的字體。 但是,如果找不到字體,則會拋出異常。 它使用從零開始的行索引作為參數。 它必須在 0 到 (RowCount - 1) 定義的範圍內。 如果提供的rowIndex超出有效範圍,則會拋出ArgumentException 。 當機器上未安裝任何字體時,會拋出SixLabors.Fonts.FontException異常。
輸入 Excel 文件
在下面的範例中,您可以看到某些行的大小沒有正確調整以適應資料。 現在讓我們來看看用於自動調整 Excel 行高的 C# 程式碼。
如何使用 C# 在 Excel 中自動調整儲存格大小:圖 8 - 輸入 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 fileusing 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程式碼解釋
- 首先,我們使用
WorkBook.Load()方法來載入 FinancialSample.xlsx。 - 我們取得總行數。
- 我們遍歷所有行索引,自動調整行高。
- 最後,我們將結果儲存到名為
autoResizeRows.xlsx的新檔案中。
輸出 Excel 文件
步驟 5:使用 IronXL 手動設定列寬和行高
除了自動調整行和列的大小外,IronXL 還提供手動調整寬度和高度的選項,以指定行高值和列寬值。
輸入 Excel 文件
如何使用 C# 在 Excel 中自動調整儲存格大小:圖 10 - 輸入 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");程式碼解釋
- 使用
WorkBook.Load()函數載入 FinancialSample.xlsx。 - 取得特定行和列,手動調整其高度和寬度。
- 設定所需的高度和寬度值。
- 將修改後的檔案儲存為
specificValue.xlsx。
輸出 Excel 文件
授權
取得免費試用,即可在 30 天內自由使用 IronXL 的所有功能。
獲得的許可證必須放置在 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 自動化所需的工具。
常見問題解答
如何使用 C# 在 Excel 中自動調整儲存格大小?
若要使用 C# 在 Excel 中自動調整儲存格大小,請使用 IronXL 的AutoSizeColumn和AutoSizeRow方法,它們會自動調整列寬和行高以適應內容。
使用 .NET 函式庫進行 Excel 自動化有哪些好處?
使用 IronXL 等 .NET 程式庫進行 Excel 自動化,無需安裝 Microsoft Office 即可簡化讀取、寫入和格式化 Excel 檔案等任務。它能提高 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 允許您使用 C# 以程式設計方式處理 Excel 文件,而無需在您的電腦上安裝 Microsoft Excel。
如果在自動調整儲存格大小時遇到字體異常,我該怎麼辦?
如果在自動調整儲存格尺寸時遇到SixLabors.Fonts.FontException異常,請確保您的系統中已安裝必要的字體,因為 IronXL 會使用這些字體來計算文字尺寸。
IronXL 如何支援多種 .NET 語言?
IronXL 支援多種 .NET 語言,例如 C#、VB.NET 和 F#,為在不同程式設計環境下工作的開發人員提供了多功能性和靈活性。
我應該在專案的哪個位置新增 IronXL 許可證金鑰?
若要啟動進階功能,應將 IronXL 授權金鑰新增至專案的appSettings.json檔案中,金鑰為「IronXL.License.LicenseKey」。
IronXL for Excel自動化工具有哪些主要功能?
IronXL 提供關鍵功能,例如輕鬆與 C# 應用程式整合、讀取和寫入 Excel 文件、應用程式格式、支援 Excel 公式以及自動調整單元格以優化內容顯示。






