跳至頁尾內容
USING IRONXL

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

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

Microsoft Excel 是各個行業中處理和分析資料最為普遍的工具之一。 在許多軟體專案中,經常需要以程式方式處理Excel文件。 這可能涉及報告生成、管理資料導入或導出,或自動化特定過程。

在C#生態系統中,IronXL脫穎而出,是Excel文件操作的強大程式庫。 無論您是在構建網頁應用程式、桌面軟體或其他C#專案,IronXL均提供易用介面讓您順利操作Excel文件。 與傳統方法需要Excel Interop不同,IronXL能獨立運行,使得部署更簡單且更可靠。

如何開始在C#中建立Excel工作簿?

在本教程中,我們將學習如何使用IronXL在C#中建立新工作簿。 我們將從設置開發環境到撰寫可生成新Excel工作簿的程式碼進行指導。 您將發現如何在您的機器上未安裝任何Excel的情況下以程式的方式建立試算表

在本教程結束時,您將對如何使用IronXL以程式的方式建立Excel工作簿有堅實的理解,能夠輕鬆將Excel功能整合到您的C#應用程式中。 讓我們開始吧!

什麼是IronXL?

IronXL是一個多功能的C#程式庫,允許您在不需要Microsoft Office Excel Interop或任何Excel應用程式的情況下處理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專案型別中。對於網頁應用程式,在ASP.NET Core和MVC專案中常用於報告生成。 使用WPF或Windows Forms的桌面應用程式可以從IronXL的資料導入/導出功能中受益。 雲原生應用程式可以在AWS Lambda下載中利用IronXL進行無伺服器的Excel處理。

為什麼選擇控制台應用程式進行學習?

控制台應用程式提供了學習新程式庫的最簡單環境。 它們消除了UI複雜性,使您能專注於Excel操作程式碼。 一旦您了解了核心概念,您可以輕鬆地將這些知識轉移到更複雜的專案型別。同一段IronXL程式碼無論是在控制台應用程式還是複雜的Web應用程式中都能相同運行。

如何安裝IronXL NuGet包?

要將IronXL軟體包安裝到您的C#專案中,您可以使用以下任何一種方式。 正確的授權金鑰配置能確保您的生產環境部署不受限制。

  1. 要安裝IronXL,在解決方案資源管理器中右鍵單擊您的專案,選擇"管理NuGet包",搜尋IronXL,然後繼續安裝。

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

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

該命令將下載、安裝並新增一個程式集引用到您的專案中。 等待軟體包下載和安裝完成。 安裝完成後,您可以開始在專案中使用IronXL以程式方式操作Excel文件。

Visual Studio IDE顯示透過軟體包管理控制台安裝IronXL Excel程式庫,並展示用於建立Excel工作簿的C#程式碼範例

常見的安裝問題是什麼?

最常見的問題涉及NuGet 軟體包的衝突或目標.NET版本不相容。 確保您的專案目標.NET Framework4.6.2或更高版本,或任何版本的.NET Core/.NET 5+。 如果您遇到問題,請查看疑難排解指南或驗證您的專案的目標框架相容性

什麼時候應該更新到最新版本的IronXL?

定期更新可帶來性能改進和新功能。 每季度查看變更記錄以檢查更新。 主要版本更新通常包括顯著的增強功能,如最近的40倍性能提升。 始終將更新首先在開發環境中進行測試,再進行生產部署。

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

在C#文件的開頭新增以下命名空間:

using IronXL;
using IronXL;
Imports IronXL
$vbLabelText   $csharpLabel

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

IronXL命名空間包含您所需的所有核心類別: WorkBook 用於管理Excel文件,WorkSheet 用於單獨的工作表,以及各種格式和樣式類別。 沒有這個導入,您將需要對每個IronXL型別進行充分限定(如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");
    }
}
Friend Class Program
	Shared Sub Main(ByVal args() As String)
		' Create a new workbook in the XLSX format
		Dim workBook As WorkBook = WorkBook.Create(ExcelFileFormat.XLSX)
		workBook.Metadata.Author = "Mr. Author" ' Set the author (optional)

		' Add a blank worksheet named "Sheet1"
		Dim workSheet As 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")
	End Sub
End Class
$vbLabelText   $csharpLabel

上面的程式碼證明了如何在C#中使用IronXL以程式的方式建立Excel文件。 它首先以XLSX格式建立一個新的Excel工作簿(Excel文件的一個新實例),使用工作簿元資料屬性設置作者元資料, 使用CreateWorkSheet()方法新增一個名為"Sheet1"的空白Excel工作表,填充A1至A4單元格資料, 最後將工作簿保存為"Developers.xlsx"。

IronXL提供了一系列用於操作Excel文件的功能,包括建立, 操作以及以各種格式保存,如XLSX、CSV、TSV、JSON、XML和HTML。 您也可以載入現有的試算表以進行修改或在單一工作簿中管理多個工作表

輸出效果如下:

Excel試算表顯示開發者姓名列表在A列, 標題為

在建立工作簿時常见的错误有哪些?

常見錯誤包括文件存取權限、無效的文件路徑,或嘗試保存到只讀位置。 在文件操作時始終使用try-catch塊。 如果遇到"文件正在使用"錯誤,確保在程式運行時沒有在Excel中打開該文件。 對於生產環境,考慮實施適當的錯誤處理和日誌機制。

我如何处理文件路径和权限?

使用Path.Combine()以實現跨平臺相容性構建文件路徑。 對於網頁應用程式,將文件保存到指定文件夾,並賦予適當的寫權限。 考慮在移動到最終位置之前,使用臨時目錄來生成文件。 在處理受保護的工作簿時,確保您擁有必要的憑據。

什麼時候應該使用不同的Excel格式?

使用XLSX以利用現代的Excel功能和小文件大小。 只有當需要與Excel 2003或更早版本相容時才選擇使用XLS CSV格式最適合無格式的簡單資料交換。 對於網頁應用程式,考慮導出為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
' 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)
Dim 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

上面的程式碼演示了如何使用IronXL在C#中自定義Excel工作表中某些單元格的外觀。 首先設置單元格A1的背景顏色和圖案為淺黃色陰影,並使字體變為粗體,實際上將其設置為標題樣式。

接下來,它定義了一個跨單元格A1到A4的範圍,並在該範圍的底部、左、右和頂部邊緣設置中等重量的邊框,增強其在工作表中的視覺區別。 這些樣式選項讓開發者能夠建立視覺吸引和組織良好的Excel文件,根據其特定需求進行定製。 您還可以為數字,日期和貨幣設定單元格資料格式

輸出效果如下:

Excel 試算表顯示開發者姓名列表(John Grahm,David Smith,Rishi Kelkar)在A列,標題

有哪些樣式選項可以使用?

IronXL提供廣泛的樣式功能:字體定制(大小、系列、顏色、粗體、斜體、下劃線)、帶圖案的單元格背景、綜合的邊框選項、文字對齊方式(橫向和縱向)、數字格式和文字換行。 您也可以在標題中合併單元格,並<atextmasai:"自動調整行和列以便於顯示" target="_blank">https://ironsoftware.com/csharp/excel/how-to/autosize-rows-columns/">自動調整行和列以便於顯示

如何應用條件格式化?

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)";
' 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單元有SUM公式顯示總計33

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工作簿,一個強大的程式庫促進Excel文件在C#生態系統中的操作。 有了IronXL,開發者可以無縫整合Excel功能到其應用程式中, 從設置開發環境到以程式方式生成Excel工作簿。 除了執行如格式化、樣式化和應用公式的任務外,IronXL還提供綜合的功能集以有效的資料管理和分析。

彩票论坛參考如何使用IronXL,請存取文件頁面。 IronXL還提供了一整套程式碼範例,有助於快速上手。 探索高級場景如建立圖表使用命名區域 保護工作表

開發人員可以透過IronXL的免費試用和購買, 確保從評估到全面實現平穩過渡。 如需瞭解有關永久授權的更多詳情,請存取授權頁面。 考慮探索授權擴展以享有附加功能。

我可以在哪找到更高級的範例?

範例部分包含針對高級場景的綜合教程:資料庫整合建立樞紐分析表Excel自動化,以及複雜報告生成。 每個範例都包含完整的工作程式碼,您可以自適應使用於您的專案中。

當我遇到困難時如何獲得支持?

IronXL提供多種支持渠道:全面的疑難排存在指南,詳細的API文件,社區論壇和面相獲得授權使用者的直接技術支援。 請從文件開始,檢查現有範例,不確定時隨時聯繫求助。

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

IronXL提供靈活的授權選項:單一開發者的開發授權,合作專案的團隊授權以及大規模部署的企業授權。 每個授權均包括一年的支援和更新。 當專案成長時, 考慮升級選項

常見問題

如何在C#中不使用Interop建立新的Excel工作簿?

您可以通過使用IronXL在C#中不使用Interop建立新的Excel工作簿。首先,設置您的C#專案並安裝IronXL NuGet套件。然後,使用IronXL的API建立新工作簿,新增工作表並填充資料。

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

使用IronXL,您可以在Excel工作簿中使用C#格式化儲存格。IronXL允許您以程式方式應用樣式,例如字體更改、背景顏色和邊框,讓您能夠建立具有專業外觀的電子表格。

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

是的,您可以在使用C#建立的Excel工作簿中使用公式,使用IronXL。IronXL支持多種Excel函数,使您能夠直接在工作表中執行計算,例如列求和或查找平均值。

使用IronXL相比於Microsoft Office Interop有哪些優勢?

IronXL相比於Microsoft Office Interop提供了多項優勢,包括無需在伺服器上安裝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幫助自動化Excel處理過程,允許開發者以程式方式建立、修改和管理C#應用程式中的Excel檔案。這包括生成報告、導入/導出資料以及自動化計算。

我在哪裡可以存取IronXL的文件和教程?

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

IronXL有免費試用版嗎?

是的,IronXL提供免費試用版以供開發者探索其功能。此試用版允許您評估IronXL在以程式方式建立和管理Excel工作簿方面的能力。

Curtis Chau
技術作家

Curtis Chau擁有Carleton大學的電腦科學學士學位,專精於前端開發,擁有Node.js、TypeScript、JavaScript和React的專業知識。Curtis熱衷於建立直觀且美觀的使用者介面,喜愛使用現代框架並建立結構良好、視覺吸引力的手冊。

除了開發,Curtis對物聯網(IoT)有濃厚的興趣,探索創新的方法來整合硬體和軟體。在空閒時間,他喜歡玩遊戲和建立Discord機器人,結合他對技術的熱愛與創造力。

Iron 支援團隊

我們線上24小時,每週5天。
聊天
電子郵件
給我打電話