跳至頁尾內容
使用 IRONXL

如何在 C# 中建立新的 Excel 工作簿

IronXL 讓 C# 開發人員能夠以程式設計方式建立 Excel 工作簿,而無需依賴 Microsoft Office,並透過簡單的 API 支援文件建立、格式化、公式和多種 Excel 格式。

微軟Excel是各行各業最通用的資料處理和分析工具之一。 在許多軟體專案中,經常需要以程式設計方式處理 Excel 檔案。 這可能包括產生報表、管理資料匯入或匯出,或自動化特定流程等任務。

在 C# 生態系統中, IronXL因其強大的 Excel 檔案操作功能而脫穎而出。 無論您是建立 Web 應用程式、桌面軟體或任何其他 C# 項目, IronXL都提供了一個易於使用的介面,可無縫處理 Excel 檔案。 與需要Excel Interop 的傳統方法不同,IronXL 可以獨立運行,使部署更簡單、更可靠。

如何使用 C# 建立 Excel 工作簿?

在本教程中,我們將學習如何使用IronXL在 C# 中建立一個新的工作簿。 我們將逐步說明必要的步驟,從設定開發環境到編寫產生新 Excel 工作簿的程式碼。 您將學會如何在不安裝 Excel 的情況下,透過程式設計方式建立電子表格

在本教學結束時,您將對如何利用 IronXL 以程式設計方式建立 Excel 工作簿有深入的了解,從而能夠輕鬆地將 Excel 功能整合到您的 C# 應用程式中。 我們開始吧!

IronXL是什麼?

IronXL是一個功能強大的 C# 庫,它允許您處理 Excel 文檔,而無需 Microsoft Office Excel Interop 或任何 Excel 應用程式。 它讓您可以輕鬆讀取建立修改工作簿,設定儲存格格式,新增公式,並處理現代和舊版 Excel 檔案格式。

您無需使用 Microsoft Office 即可驗證資料、插入影像、套用條件格式和建立圖表。開發人員可以使用 IronXL 輕鬆建立 Excel 解決方案,用於財務報告、數據儀表板和庫存管理等任務。 該庫支援在不同的電子表格格式之間進行轉換,包括 XLSX、XLS、CSV、TSV、JSON 和 XML。

讓我們開始用 C# 建立一個 Excel 檔案。

為什麼我應該選擇 IronXL 而不是其他庫?

IronXL 為初級開發人員提供了幾個優勢:它提供了一個簡潔、直覺的 API,比 Excel Interop 更容易學習,無需在部署伺服器上安裝 Microsoft Office,並且可以在包括LinuxmacOS在內的不同平台上無縫運行。 該庫包含全面的文件程式碼範例,可協助您快速入門。

IronXL 支援哪些 Excel 檔案格式?

IronXL 支援所有主流 Excel 格式:XLSX(現代 Excel 檔案)、XLS(舊版 Excel 97-2003)、CSV(逗號分隔值)、TSV(製表符分隔值),甚至可以匯出為 JSON 和 XML 。 這種靈活性確保您的應用程式可以處理使用者可能需要的幾乎任何與 Excel 相關的文件格式。

我應該在專案中何時使用 IronXL?

當您需要自動產生報表、處理使用者上傳的資料、建立發票或收據、將資料庫資料匯出到 Excel,或建立任何需要 Excel 檔案操作的應用程式時,請考慮使用 IronXL。 它對ASP.NET 應用程式Blazor 項目,甚至.NET MAUI 應用程式都特別有用。

如何建立一個新的 C# 專案用於 Excel 開發?

開啟 Visual Studio 並建立一個新的 C# 控制台應用程式專案。 你想叫它什麼都行。 您也可以建立其他類型的項目,例如 ASP.NET MVC、Blazor、MAUI、Web Forms、Windows Forms、Web API 等。此代碼適用於所有項目類型。為了簡單起見,並使其適用於所有專案類型,我使用了控制台應用程式。該程式庫甚至可以在Docker 容器Azure Functions中運行。

IronXL 最適合哪些項目類型?

IronXL 可與所有 .NET 專案類型無縫整合。對於 Web 應用程序,它常用於 ASP.NET Core 和 MVC 專案中的報表產生。 使用 WPF 或 Windows Forms 的桌面應用程式可以利用 IronXL 的資料導入/匯出功能。 雲端原生應用程式可以利用AWS Lambda 函數中的 IronXL 進行無伺服器 Excel 處理。

為什麼選擇遊戲主機應用程式進行學習?

控制台應用程式為學習新庫提供了最簡單的環境。 它們消除了使用者介面上的複雜性,使您能夠專注於 Excel 操作程式碼。 一旦掌握了核心概念,就可以輕鬆地將這些知識應用到更複雜的專案類型中。無論是在控制台應用程式還是複雜的 Web 應用程式中,同一段 IronXL 程式碼都能完全正常運作。

如何安裝 IronXL NuGet 套件?

要將IronXL套件安裝到您的 C# 專案中,您可以使用以下任何一種方法。 正確的許可證密鑰配置可確保您的生產部署不受限制地運作。

  1. 若要安裝 IronXL,請在解決方案資源管理器中以滑鼠右鍵按一下您的項目,選擇"管理 NuGet 套件",請搜尋 IronXL,然後繼續安裝。

NuGet 套件管理器視窗顯示 IronXL.Excel 套件的搜尋結果,已選擇版本 2024.4.4 進行安裝到 C# 專案中

  1. 或者,您也可以使用下列命令透過軟體套件管理器控制台安裝 IronXL:
Install-Package IronXL.Excel

此命令將下載、安裝組件並將其新增至您的專案。 等待軟體包下載並安裝完成。 安裝完成後,您就可以在專案中使用 IronXL 以程式設計方式處理 Excel 檔案了。

Visual Studio IDE 展示如何透過套件管理器控制台安裝 IronXL Excel 庫,並提供 C# 程式碼範例來建立 Excel 工作簿。

常見的安裝問題有哪些?

最常見的問題涉及 NuGet 套件衝突或目標 .NET 版本不相容。 請確保您的專案是為 .NET Framework 4.6.2 或更高版本,或任何版本的 .NET Core/.NET 5+。 如果遇到問題,請查看故障排除指南或驗證專案的目標框架相容性

我應該何時將 IronXL 更新到最新版本?

定期更新帶來效能提升和新功能。 請每季查看更新日誌。 主要版本更新通常包含重大改進,例如最近40 倍的效能提升。 在將更新部署到生產環境之前,請務必先在開發環境中進行測試。

如何導入必要的命名空間?

在 C# 檔案的頂部,新增以下命名空間:

using IronXL;
using IronXL;
$vbLabelText   $csharpLabel

這個命名空間為什麼重要?

IronXL 命名空間包含您需要的所有核心類別:用於管理 Excel 檔案的WorkBook 、用於單一工作表的WorkSheet以及各種格式和樣式類別。 如果沒有這個導入,你需要完整限定每個 IronXL 類型(例如WorkBook ),這會讓你的程式碼冗長且難以閱讀。

我可能還需要哪些其他命名空間?

根據您的特定需求,您可能還需要: using IronXL.Formatting進行高級單元格格式設置using IronXL.Drawing處理圖像,或using IronXL.Styles進行全面的樣式設定API 參考文件提供了完整的命名空間文件。

如何透過程式設計方式建立新的Excel檔案?

現在,讓我們編寫程式碼來建立一個 Excel 檔案:

internal class Program
{
    static void Main(string[] args)
    {
        // Create a new workbook in the XLSX format
        WorkBook workBook = WorkBook.Create(ExcelFileFormat.XLSX);
        workBook.Metadata.Author = "Mr. Author"; // Set the author (optional)

        // Add a blank worksheet named "Sheet1"
        WorkSheet workSheet = workBook.CreateWorkSheet("Sheet1");

        // Add data to the new worksheet
        workSheet["A1"].Value = "Developer Name";
        workSheet["A2"].Value = "John Grahm";
        workSheet["A3"].Value = "David Smith";
        workSheet["A4"].Value = "Rishi Kelkar";

        // Save the Excel file as "Developers.xlsx"
        workBook.SaveAs("Developers.xlsx");
    }
}
internal class Program
{
    static void Main(string[] args)
    {
        // Create a new workbook in the XLSX format
        WorkBook workBook = WorkBook.Create(ExcelFileFormat.XLSX);
        workBook.Metadata.Author = "Mr. Author"; // Set the author (optional)

        // Add a blank worksheet named "Sheet1"
        WorkSheet workSheet = workBook.CreateWorkSheet("Sheet1");

        // Add data to the new worksheet
        workSheet["A1"].Value = "Developer Name";
        workSheet["A2"].Value = "John Grahm";
        workSheet["A3"].Value = "David Smith";
        workSheet["A4"].Value = "Rishi Kelkar";

        // Save the Excel file as "Developers.xlsx"
        workBook.SaveAs("Developers.xlsx");
    }
}
$vbLabelText   $csharpLabel

以上程式碼示範如何使用 C# 中的 IronXL 以程式設計方式建立 Excel 檔案。 它首先建立一個新的 Excel 工作簿(Excel 檔案的新實例),格式為 XLSX,然後使用工作簿元資料屬性設定作者元數據,使用CreateWorkSheet()方法新增一個名為"Sheet1"的空白 Excel 工作表,在 A1 到 A4 儲存格中填充數據,最後將工作簿另存為"Developers.xlsxlx"。

IronXL 提供一系列處理 Excel 檔案的功能,包括建立、操作和儲存為 XLSX、CSV、TSV、JSON、XML 和 HTML 等各種格式。 您也可以載入現有電子表格進行修改,或在單一工作簿中管理多個工作表

輸出結果如下:

Excel 表格 A 欄位顯示了開發人員姓名列表,標題為"開發人員姓名",其中列出了三個姓名:John Grahm、David Smith 和 Rishi Kelkar。

建立工作簿時常見的錯誤有哪些?

常見錯誤包括檔案存取權錯誤、檔案路徑無效或嘗試儲存到唯讀位置。 文件操作周圍務必使用 try-catch 區塊。 如果遇到"檔案正在使用"錯誤,請確保在程式執行時沒有在 Excel 中開啟該檔案。 對於生產環境,請考慮實作適當的錯誤處理和日誌記錄機制。

如何處理檔案路徑和權限?

建置檔案路徑時,使用Path.Combine()可以實現跨平台相容性。 對於 Web 應用程序,請將檔案儲存到具有適當寫入權限的指定資料夾。 考慮使用臨時目錄產生文件,然後再將其移動到最終位置。 使用受保護的工作簿時,請確保您擁有必要的憑證。

何時應該使用不同的Excel格式?

使用 XLSX 格式可享受現代 Excel 功能並減少檔案大小。 僅當需要與 Excel 2003 或更早版本相容時才選擇 XLS。 CSV格式最適合無需格式化的簡單資料交換。 對於 Web 應用程序,請考慮匯出為 HTML以便在瀏覽器中顯示。 轉換指南解釋了特定格式的注意事項。

如何對Excel檔案套用格式和樣式?

IronXL 可讓您設定儲存格格式、套用字體樣式、設定背景顏色和調整對齊方式。 您可以透過自訂儲存格外觀來建立專業美觀的電子表格。 該庫支援全面的單元格樣式設置,包括邊框、字體和對齊方式選項。

// Set style of heading for cell A1
workSheet["A1"].Style.BackgroundColor = "#FFFF66"; // Light yellow background
workSheet["A1"].Style.Font.Bold = true; // Bold font

// Set border style for a specific range (A1:A4)
var range = workSheet["A1:A4"];
range.Style.BottomBorder.Type = BorderType.Medium; // Medium bottom border
range.Style.LeftBorder.Type = BorderType.Medium; // Medium left border
range.Style.RightBorder.Type = BorderType.Medium; // Medium right border
range.Style.TopBorder.Type = BorderType.Medium; // Medium top border
// Set style of heading for cell A1
workSheet["A1"].Style.BackgroundColor = "#FFFF66"; // Light yellow background
workSheet["A1"].Style.Font.Bold = true; // Bold font

// Set border style for a specific range (A1:A4)
var range = workSheet["A1:A4"];
range.Style.BottomBorder.Type = BorderType.Medium; // Medium bottom border
range.Style.LeftBorder.Type = BorderType.Medium; // Medium left border
range.Style.RightBorder.Type = BorderType.Medium; // Medium right border
range.Style.TopBorder.Type = BorderType.Medium; // Medium top border
$vbLabelText   $csharpLabel

以上程式碼示範如何使用 C# 中的 IronXL 自訂 Excel 工作表中特定儲存格的外觀。 它首先將單元格 A1 的背景顏色和圖案設為淺黃色,並將字體加粗,有效地將其樣式設為標題。

接下來,它定義了一個從 A1 到 A4單元格的區域,並在此區域的底部、左側、右側和頂部邊緣設置中等粗細的邊框,從而增強其在工作表中的視覺區分度。 這些樣式選項使開發人員能夠創建符合其特定需求的、視覺上吸引人且條理清晰的 Excel 文件。 您也可以設定數字、日期和貨幣的儲存格資料格式

輸出結果如下:

Excel 表格 A 欄位顯示了開發人員姓名清單(John Grahm、David Smith、Rishi Kelkar),標題"開發人員姓名"以黃色高亮顯示。

有哪些造型選擇?

IronXL 提供豐富的樣式功能:字體自訂(大小、字體系列、顏色、粗體、斜體、下劃線)、帶有圖案的單元格背景、全面的邊框選項、文字對齊(水平和垂直)、數字格式設定和文字換行。 您也可以合併儲存格作為標題,並對行和列套用自動調整大小功能,以獲得最佳顯示效果。

如何套用條件格式?

IronXL 中的條件格式功能可讓您根據儲存格的值來反白顯示儲存格。 您可以為顏色標度、資料條和圖示集建立規則。 此功能可協助使用者快速識別趨勢、異常值或重要資料點。 條件格式範例展示了實際應用。

為什麼單元格格式對使用者體驗很重要?

專業格式化可以將原始資料轉化為可操作的見解。 格式良好的電子表格更易於閱讀,減少錯誤,並展現專業性。 請考慮使用一致的配色方案、清晰的標題和適當的數字格式。 Excel 數位格式指南展示了資料呈現的最佳實踐。

如何加入公式和計算?

你可以透過程式設計方式為儲存格新增公式。 IronXL 支援多種Excel 函數數學運算。 該庫既可以設定公式,也可以評估公式的結果。

// Add a new column to display the length of developer names
workSheet["B1"].Value = "Name Length";
workSheet["B1"].Style.BackgroundColor = "#FFFF66"; // Styled as heading
workSheet["B1"].Style.Font.Bold = true; // Bold font

// Formula to calculate the length of names in column B
workSheet["B2"].Value = "=LEN(A2)";
workSheet["B3"].Value = "=LEN(A3)";
workSheet["B4"].Value = "=LEN(A4)";

// Add a total count of the length of names in cell A5
workSheet["A5"].Value = "Sum of Length";
workSheet["B5"].Formula = "=SUM(B2:B4)";
// Add a new column to display the length of developer names
workSheet["B1"].Value = "Name Length";
workSheet["B1"].Style.BackgroundColor = "#FFFF66"; // Styled as heading
workSheet["B1"].Style.Font.Bold = true; // Bold font

// Formula to calculate the length of names in column B
workSheet["B2"].Value = "=LEN(A2)";
workSheet["B3"].Value = "=LEN(A3)";
workSheet["B4"].Value = "=LEN(A4)";

// Add a total count of the length of names in cell A5
workSheet["A5"].Value = "Sum of Length";
workSheet["B5"].Formula = "=SUM(B2:B4)";
$vbLabelText   $csharpLabel

上面的程式碼示範如何在 IronXL 中使用公式和函數來計算開發人員姓名的長度,以及在 Excel 工作表中計算這些長度的總和。 透過此演示,開發人員可以了解如何在 IronXL 中整合公式和函數,以程式設計方式在 Excel 工作表中執行動態計算和操作,從而在資料處理任務中提供靈活性和自動化。

首先,在儲存格 B1 中新增標題為"名稱長度"的標題,並設定樣式以突顯其重要性。 接下來,對儲存格 B2、B3 和 B4 應用公式,使用 LEN 函數計算每個開發者姓名的長度,並引用 A 列中的對應儲存格。 這樣一來,當開發者名稱發生變化時,系統就能自動計算名稱長度。

此外,儲存格 B5 使用SUM 函數計算名稱長度總數,該函數將儲存格 B2 到 B4 中的值相加。您也可以使用其他聚合函數,例如 AVERAGE、MIN 和 MAX。

透過應用這些公式,工作表可以動態更新。 雖然這個特定的用例可能不太實用,但它可以作為在程式碼中使用 Excel 公式的一個例子。

Excel 表格 A 欄位顯示開發人員姓名,B 欄位顯示計算出的姓名長度,B5 儲存格顯示總和 33,並可見 SUM 公式。

IronXL 支援哪些 Excel 函數?

IronXL 支援超過 165 個 Excel 函數,包括數學函數(SUM、AVERAGE、MIN、MAX)、文字運算函數(LEN、CONCATENATE、TRIM)、邏輯函數(IF、AND、OR)、查找函數(VLOOKUP、HLOOKUP)和日期/時間函數。 功能概述提供了支援功能的完整清單。

如何調試公式錯誤?

當公式傳回錯誤時,請檢查:正確的儲存格參考、正確的語法、循環參考和資料類型不符。 使用Evaluate()方法以程式設計方式測試公式。 故障排除指南可協助解決常見的配方問題。

何時應該在程式碼中計算值,何時應該在公式中計算值?

在以下情況下使用 Excel 公式:使用者需要在 Excel 中查看計算結果、數值需要自動更新,或者您正在建立範本。 在以下情況下,請使用 C# 進行計算:處理複雜的業務邏輯、需要對大型資料集進行更高效能的計算,或需要進行 Excel 不支援的計算。 數學函數教程解釋了這兩種方法。

接下來我該如何使用 IronXL?

總而言之,本教學示範如何使用IronXL(一個強大的函式庫,可簡化 C# 生態系統中的 Excel 檔案操作)在 C# 中建立一個新的 Excel 工作簿。 借助 IronXL,開發人員可以將 Excel 功能無縫整合到他們的應用程式中,從設定開發環境到以程式設計方式產生 Excel 工作簿。 除了能夠執行格式化、樣式設定和應用公式等任務外,IronXL 還提供了一套全面的功能,用於高效的資料管理和分析。

有關如何使用 IronXL 的參考資料,請造訪文件頁面。 IronXL 還提供了一系列程式碼範例,對入門很有幫助。 探索進階場景,例如 建立圖表使用命名區域保護工作表

開發者可以透過免費試用和購買來探索 IronXL,確保從評估到全面實施的無縫過渡。 有關永久許可證的更多詳細信息,請訪問許可證頁面。 考慮購買許可證擴充包以獲取更多功能。

哪裡可以找到更多進階範例?

範例部分包含針對進階場景的綜合教學:資料庫整合建立資料透視表Excel 自動化複雜報表產生。 每個範例都包含完整的、可運行的程式碼,您可以根據自己的專案進行修改。

遇到問題時如何獲得協助?

IronXL 提供多種支援管道:全面的故障排除指南、詳細的API 文件、社群論壇以及為授權使用者提供的直接技術支援。 首先請查閱文檔,查看現有範例,如有需要,請隨時聯絡我們尋求協助。

哪些授權選項最適合我的專案?

IronXL 提供靈活的許可選項:針對單一開發人員的開發許可證、面向協作專案的團隊許可證以及大規模部署的企業許可證。 每個許可證均包含一年的支援和更新服務。 隨著專案的發展,考慮升級方案

常見問題解答

如何在不使用 Interop 的情況下,用 C# 建立一個新的 Excel 工作簿?

您可以使用 IronXL 在 C# 中建立新的 Excel 工作簿,而無需使用 Interop。首先,設定您的 C# 專案並安裝 IronXL NuGet 套件。然後,使用 IronXL 的 API 建立新工作簿、新增工作表並填入資料。

如何使用 C# 設定 Excel 工作簿中儲存格的格式?

使用 IronXL,您可以使用 C# 格式化 Excel 工作簿中的儲存格。 IronXL 可讓您以程式設計方式套用樣式,例如字體變更、背景顏色和邊框,從而建立專業外觀的電子表格。

我可以在用 C# 建立的 Excel 工作簿中使用公式嗎?

是的,您可以使用 IronXL 在以 C# 建立的 Excel 工作簿中使用公式。 IronXL 支援多種 Excel 函數,可讓您直接在工作表中執行諸如列求和或求平均值之類的計算。

與 Microsoft Office Interop 相比,使用 IronXL 有哪些優點?

與 Microsoft Office Interop 相比,IronXL 具有多項優勢,包括無需在伺服器上安裝 Excel、效能更快、更容易整合到 C# 應用程式中。此外,它還支援多種 Excel 功能,而無需 Interop 帶來的額外開銷。

如何在 C# 專案中安裝 IronXL?

若要在 C# 專案中安裝 IronXL,請在 Visual Studio 中存取「管理 NuGet 套件」選項,搜尋 IronXL 並進行安裝。或者,也可以使用套件管理器控制台,並執行指令Install-Package IronXL.Excel

IronXL 是否可以在 Web 應用程式中使用?

是的,IronXL 可以用於 ASP.NET MVC 和 Blazor 等 Web 應用程式。它的靈活性使您可以將 Excel 功能整合到各種專案類型中,包括 Web 表單和 API。

IronXL 可以處理哪些檔案格式?

IronXL 支援多種檔案格式,包括 XLSX、CSV、TSV、JSON、XML 和 HTML。這種靈活性使您能夠在 Excel 相關任務中無縫處理不同的資料格式。

IronXL 如何協助實現 Excel 流程自動化?

IronXL 透過讓開發人員在 C# 應用程式中以程式設計方式建立、修改和管理 Excel 文件,從而幫助實現 Excel 流程的自動化。這包括生成報告、導入/導出數據以及自動計算。

我可以在哪裡找到 IronXL 的文檔和教學?

IronXL 的文件和教學課程可在 IronXL 網站上找到。這些資源提供了詳細的指南和範例,幫助您在專案中有效地使用 IronXL 的各項功能。

IronXL有免費試用版嗎?

是的,IronXL 為開發者提供免費試用版,方便他們體驗各項功能。透過試用版,您可以評估 IronXL 在以程式設計方式建立和管理 Excel 工作簿方面的功能。

喬迪·巴迪亞
軟體工程師
喬迪精通Python、C#和C++,除了在Iron Software運用這些技能外,他還從事遊戲程式設計。他參與產品測試、產品開發和研究等工作,為產品的持續改進做出了巨大貢獻。豐富的經驗讓他始終保持挑戰性和工作熱情,他表示這是他最喜歡在Iron Software工作的原因之一。喬迪在佛羅裡達州邁阿密長大,畢業於佛羅裡達大學,主修電腦科學和統計學。