在實際環境中測試
在生產環境中測試無浮水印。
在任何需要的地方都能運作。
在當今數據驅動的世界中,Microsoft Excel 仍然是企業和專業人士不可或缺的工具。無論是處理數據、製作報告,還是視覺化數據,Excel 的多功能性都是無與倫比的。然而,當涉及在 C# 中以程序方式操作 Excel 文件時,開發人員常常面臨挑戰。這就是 IronXL 發揮作用的地方。 IronXL 該庫進入發揮作用,為 C# 環境中的 Excel 自動化提供了無縫解決方案。
IronXL 圖書館由 Iron Software 提供直觀的API以在C# .NET和VB.NET環境中無縫處理Excel文檔。使用IronXL,無需安裝Microsoft Office或Excel Interop組件。它使開發人員能夠輕鬆讀取、編輯和創建Excel電子表格文件,並全面支持各種 .NET 框架,包括 .NET 8、7、6、Core 框架和Azure環境。
在本文中,我們將學習如何使用C#和IronXL自動調整Excel中的欄位寬度和高度。
安裝 IronXL 將庫添加到項目中。
使用 IronXL 庫自動適應欄寬。
使用 IronXL 庫自動適應行高。
IronXL IronXL 是一個多功能的 .NET 程式庫,專為 C# 開發者簡化 Excel 試算表操作而設計。IronXL 提供快速且直觀的 API,用戶可以輕鬆地存取、修改和生成 Excel 文件,而不依賴 Office Interop。它的兼容性擴展至各種 .NET 框架,包括 .NET Core 和 Azure,無需任何特殊的依賴或安裝 Microsoft Office。支持多種 .NET 語言,如 C#、VB.NET 和 F#,IronXL 滿足各種開發場景,包括控制台、網頁和桌面應用。此外,IronXL 在不同平台上的兼容性,包括 Windows、Linux、macOS、Docker、Azure 和 AWS,使其成為尋求高效 Excel 整合的開發者不可或缺的工具。
簡單整合: IronXL 無縫整合於C# 應用程式,提供簡單且直觀的API 用於Excel 自動化。開發人員可以快速上手,學習曲線最小。
讀取和寫入Excel 文件:使用IronXL,您可以輕鬆讀取現有的Excel 文件中的數據,並將數據寫入新的或現有的電子表格中。這項功能對於數據導入/導出和報表生成等任務至關重要。
格式和樣式:IronXL 讓您能夠對Excel 單元格進行格式和樣式設置,包括字體、顏色、邊框等。這確保了您生成的Excel 文件保持專業和精緻的外觀。
公式支持:需要對Excel 數據執行複雜計算或應用公式?IronXL 支持Excel 公式,允許您自動執行計算和數據處理。
開始時,讓我們按以下所示建立一個Visual Studio專案。從列表中選擇控制台應用程式範本。
提供專案名稱和位置
從下拉選單中選擇所需的 .NET 版本,然後點擊創建
安裝 IronXL 從 Visual Studio NuGet 套件管理器庫
該套件也可以使用 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
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'dotnet add package IronXL.Excel --version 2024.3.20 Install-Package IronXL.Excel
這樣我們就準備開始編寫程式碼了。
AutoSizeColumn 方法來自 IronXL 此程式庫調整欄位寬度以適應其內容。此方法根據儲存格中使用的字體計算文字寬度。如果系統上無法提供確切字體,它會嘗試使用預設字體進行測量。如果找不到預設字體,它會嘗試利用任何可用的字體。然而,如果找不到任何字體,將會拋出一個異常。它使用從零開始的欄位索引作為參數。必須在0和 (欄數 - 1). 若提供的 columnIndex 超出有效範圍,將拋出 ArgumentException。 當機器上沒有安裝字體時,將拋出 SixLabors.Fonts.FontException。
現在,我們來看看如何使用它來調整 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);
}
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);
}
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
workBook.SaveAs("autoResize.xlsx") ' result file
首先,我們使用 WorkBook.Load 加載 FinancialSample.xlsx()**方法。
然後我們獲取需要調整列寬的單元格範圍,在本例中我們獲取列數。
然後我們遍歷所有的索引以自動調整列寬。
您可以在下方看到所有的列都是自動調整大小且可見的。
AutoSizeRow 方法調整行的高度以適應其內容。需要注意的是,該方法根據單元格中使用的字體計算文本高度。如果系統中沒有該字體,它將嘗試使用默認字體進行測量。如果沒有找到默認字體,將嘗試使用任何可用的字體。但是,如果找不到任何字體,則會拋出異常。它使用基於零的行索引作為參數。必須在 0 和 定義的範圍內。 (行數 - 1). 如果提供的 rowIndex 超出有效範圍,將拋出 ArgumentException。當機器上沒有安裝字體時,將拋出 SixLabors.Fonts.FontException。
在下面的例子中,您可以看到某些行的大小沒有適當地調整以適合數據。現在讓我們來看看自動調整Excel行高的C#代碼。
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++)
{
workSheet.AutoSizeRow(i);
}
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++)
{
workSheet.AutoSizeRow(i);
}
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
workSheet.AutoSizeRow(i)
Next i
workBook.SaveAs("autoResizeRows.xlsx") ' result file
起初,我們使用 WorkBook.Load 加載 FinancialSample.xlsx()**方法。
然後我們獲取需要調整行高的單元格範圍,在這裡我們獲取行數。
然後我們遍歷所有索引來自動調整行高。
除了自動調整行和列的大小,IronXL 還提供手動調整到特定行高值和列寬值的功能。
using IronXL;
// Load example spreadsheet
WorkBook workBook = WorkBook.Load("FinancialSample.xlsx");
WorkSheet workSheet = workBook.DefaultWorkSheet;
RangeRow row = workSheet.GetRow(0);
row.Height = 500; // Set height
RangeColumn col = workSheet.GetColumn(0);
col.Width = 5000; // Set width
workBook.SaveAs("specificValue.xlsx");
using IronXL;
// Load example spreadsheet
WorkBook workBook = WorkBook.Load("FinancialSample.xlsx");
WorkSheet workSheet = workBook.DefaultWorkSheet;
RangeRow row = workSheet.GetRow(0);
row.Height = 500; // Set height
RangeColumn col = workSheet.GetColumn(0);
col.Width = 5000; // Set width
workBook.SaveAs("specificValue.xlsx");
Imports IronXL
' Load example spreadsheet
Private workBook As WorkBook = WorkBook.Load("FinancialSample.xlsx")
Private workSheet As WorkSheet = workBook.DefaultWorkSheet
Private row As RangeRow = workSheet.GetRow(0)
row.Height = 500 ' Set height
Dim col As RangeColumn = workSheet.GetColumn(0)
col.Width = 5000 ' Set width
workBook.SaveAs("specificValue.xlsx")
起初,我們使用 WorkBook.Load 加載 FinancialSample.xlsx()** 函數。
然後我們獲取需要調整行高度的單元格範圍以及需要調整列寬的單元格範圍
接著我們設置高度和寬度值
IronXL取得的許可證必須放在appSettings.json文件中。
{
"IronXL.License.LicenseKey":"myTrialKey"
}
{
"IronXL.License.LicenseKey":"myTrialKey"
}
If True Then
"IronXL.License.LicenseKey":"myTrialKey"
End If
透過像 AutoSizeColumn 和 AutoSizeRow 這樣的功能來自 IronXL開發人員可以輕鬆確保 Excel 電子表格根據它們所包含的內容動態調整,無論是匯入數據、動態報告、用戶生成的內容,還是數據分析結果。
IronXL與各種 .NET 框架(包括 .NET Core 和 Azure)兼容,確保開發人員可以將 Excel 自動化納入各種應用程序中,無需依賴 Microsoft Office 或 Excel Interop。此外,IronXL 支持多種 .NET 語言和平台,使其成為開發人員在不同環境中簡化 Excel 操作任務的多功能選擇。
總之, IronXL 賦予開發者提高 Excel 自動化項目中的生產力、準確性和靈活性,提供一個全面的功能套件來滿足現代 C# 開發的需求。無論是生成報告、分析數據還是展示信息, IronXL 提供在 C# 生態系統中在 Excel 自動化方面脫穎而出的必要工具。