在實際環境中測試
在生產環境中測試無浮水印。
在任何需要的地方都能運作。
在當今數據驅動的世界中,Microsoft Excel 仍然是企業和專業人士不可或缺的工具。無論是進行數據運算、生成報告,還是進行數據可視化,Excel 的多功能性無與倫比。 然而,在以 C# 程式化操作 Excel 文件時,開發人員經常面臨挑戰。 這就是IronXL該函式庫發揮作用,提供了一個在 C# 環境中進行 Excel 自動化的無縫解決方案。
IronXL圖書館由Iron Software在 C# .NET 和 VB.NET 環境中提供直觀的 API,用於無縫處理 Excel 文件。 使用 IronXL,無需安裝 Microsoft Office 或 Excel Interop 組件。 它使開發人員能夠輕鬆讀取、編輯和創建 Excel 試算表文件,並全面支持各種 .NET 框架,包括 .NET 8、7、6、Core Frameworks 以及 Azure 環境。
在本文中,我們將學習如何使用 C# 和 IronXL 自動調整 Excel 中的列寬和行高。
安裝IronXL將庫添加到專案。
使用 IronXL 庫自動調整欄位寬度。
使用 IronXL 庫自動調整行高。
IronXL庫是一個多功能的 .NET 庫,專為簡化 C# 開發人員的 Excel 電子表格操作而設計。 IronXL 提供快速且直觀的 API,讓使用者不需依賴 Office Interop 就能輕鬆存取、修改和生成 Excel 文件。它兼容多個 .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 檔案的大小。您可以從下載範例 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。
在以下範例中,您可以看到某些行的大小未適當調整以適合資料。 現在讓我們來看看 C# 代碼如何自動調整 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++)
{
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()** function.
然後我們獲取需要調整行高的儲存格範圍,還有需要調整列寬的儲存格範圍。
然後我們設置高度和寬度值
取得的授權必須放在 appSettings.json 文件中。
{
"IronXL.License.LicenseKey":"myTrialKey"
}
{
"IronXL.License.LicenseKey":"myTrialKey"
}
If True Then
"IronXL.License.LicenseKey":"myTrialKey"
End If
具有 AutoSizeColumn 和 AutoSizeRow 等功能จากIronXL,開發人員可以輕鬆確保 Excel 試算表根據所含內容動態調整,無論是導入的數據、動態報告、用戶生成的內容或數據分析結果。
IronXLIronXL 與各種 .NET 框架(包括 .NET Core 和 Azure)的相容性確保開發人員能夠將 Excel 自動化集成到各種應用中,而無需依賴 Microsoft Office 或 Excel Interop。此外,IronXL 支援多種 .NET 語言和平台,使其成為開發人員在各種環境中簡化 Excel 操作任務的多功能選擇。
本質上,IronXL賦能開發人員在 Excel 自動化專案中提升生產力、準確性和靈活性,提供一套全面的功能以滿足現代 C# 開發的需求。 無論是生成報告、分析數據,還是呈現資訊,IronXL提供在 C# 生態系統中在 Excel 自動化方面脫穎而出的必要工具。