使用 IRONXL 如何在 Blazor 中導出到 CSV Jordi Bardia 更新:6月 22, 2025 下載 IronXL NuGet 下載 DLL 下載 開始免費試用 法學碩士副本 法學碩士副本 將頁面複製為 Markdown 格式,用於 LLMs 在 ChatGPT 中打開 請向 ChatGPT 諮詢此頁面 在雙子座打開 請向 Gemini 詢問此頁面 在雙子座打開 請向 Gemini 詢問此頁面 打開困惑 向 Perplexity 詢問有關此頁面的信息 分享 在 Facebook 上分享 分享到 X(Twitter) 在 LinkedIn 上分享 複製連結 電子郵件文章 今天,我們將深入探討如何使用 Blazor 和 IronXL 將 Excel 檔案轉換為 CSV 格式。 在本教程結束時,您將能夠創建一個基本的 Blazor 應用,將 Excel 數據導出為 CSV 等多種格式。 IronXL 簡介 IronXL 是一個功能強大的.NET Excel 庫,旨在處理各種格式的Excel 文件,包括 XLS、XLSX、XLSM、XLTX 和 CSV。它允許開發人員以程式設計方式讀取、寫入和操作 Excel 數據,而無需 Microsoft Office 或 Excel Interop。 使用 IronXL,您可以建立、載入和儲存Excel 工作簿,以及讀取和寫入單一儲存格或區域的資料。 它還支援格式設定、公式、圖表和資料透視表等高級功能。 IronXL 與各種 .NET 框架相容,並可與 C# 和 VB.NET 等流行語言一起使用。 將 Excel 檔案轉換為 CSV 檔案的步驟 設定 Blazor 項目 首先,您需要建立一個新的 Blazor Server 專案。 開啟 Visual Studio,建立一個新項目,然後選擇"Blazor 伺服器應用程式"範本。 為你的專案命名,然後點擊"建立"。 專案建立完成後,打開Pages 資料夾並找到Index.razor檔案。 Blazor 元件和程式碼都新增在此處,用於處理檔案上傳和轉換。 安裝 IronXL 在開始編寫程式碼之前,需要安裝 IronXL 函式庫。 在 Visual Studio 中開啟程式包管理器控制台,並執行以下命令: Install-Package IronXL.Excel 此指令會將 IronXL 庫安裝到您的 Blazor 專案中。 現在你可以開始寫程式了! 建立文件上傳元件 首先,建立一個基本的文件上傳元件,允許使用者上傳現有的 Excel 檔案。然後,從Microsoft.AspNetCore.Components.Forms命名空間中新增InputFile元件。 在您的Index.razor檔案中,將以下程式碼新增至"@page"行下方: @using Microsoft.AspNetCore.Components.Forms @using IronXL @using System.IO @using System.Threading.Tasks <div class="container"> <h3>File Upload</h3> <InputFile class="button" OnChange="@OnInputFileChange" accept=".xls,.xlsx,.xlsm,.xltx,.csv,.tsv" /> <h3>Selected File: @originalFileName</h3> <h3 style="color:bisque">Is File converted: <span>@message</span></h3> </div> 這段程式碼設定了檔案上傳元件,包括一個按鈕和一個訊息區域,用於顯示檔案轉換的狀態。 InputFile元件的accept屬性指定了可接受的檔案格式。 編寫檔案轉換程式碼 現在,讓我們編寫處理文件上傳和轉換的程式碼。 我們將結合使用 IronXL、Blazor 和 C# 來完成這項任務。 您可以使用 IronXL 將CSV 檔案轉換為 Excel 檔案。 將以下程式碼新增至Index.razor檔案中,放在先前新增的div元素下方。 @code { private string originalFileName; private string message = ""; private async Task OnInputFileChange(InputFileChangeEventArgs e) { var file = e.File; originalFileName = file.Name; try { // Read the uploaded file into a memory stream using var memoryStream = new MemoryStream(); await file.OpenReadStream().CopyToAsync(memoryStream); // Load the workbook using IronXL WorkBook workBook = WorkBook.Load(memoryStream); // Save the workbook as a CSV file string outputPath = "sample.csv"; workBook.SaveAsCsv(outputPath); message = "Conversion completed!"; } catch (Exception ex) { message = $"An error occurred: {ex.Message}"; } } } 這段程式碼定義了一個名為OnInputFileChange的私有方法,當使用InputFile元件上傳 Excel 電子表格時,該方法將會被觸發; Excel 檔案可以是 XLS 或 XLSX 格式。 程式碼讀取上傳的基本 Excel 文件,將其載入到WorkBook物件中,然後將WorkBook儲存為 CSV 檔案。轉換狀態顯示在頁面上的訊息區域。 程式碼分解 首先,請查看完整程式碼: @page "/" @using Microsoft.AspNetCore.Components.Forms @using IronXL @using System.IO @using System.Threading.Tasks <style> body{ background-color: skyblue } .container { max-width: 800px; margin: 0 auto; font-family: Arial, sans-serif; } h3 { margin-top: 30px; font-size: 30px; margin-bottom: 30px; } .button { background-color: #4CAF50; border: none; color: white; padding: 15px 32px; text-align: center; text-decoration: none; display: inline-block; font-size: 16px; margin: 15px 0; cursor: pointer; } span { font-size: 20px; } </style> <div class="container"> <h3>File Upload</h3> <InputFile class="button" OnChange="@OnInputFileChange" accept=".xls,.xlsx,.xlsm,.xltx,.csv,.tsv" /> <h3>Selected File: @originalFileName</h3> <h3 style="color:bisque">Is File converted: <span>@message</span></h3> </div> @code { private string originalFileName; private string message = ""; private async Task OnInputFileChange(InputFileChangeEventArgs e) { var file = e.File; originalFileName = file.Name; try { // Read the uploaded file into a memory stream using var memoryStream = new MemoryStream(); await file.OpenReadStream().CopyToAsync(memoryStream); // Load the workbook using IronXL WorkBook workBook = WorkBook.Load(memoryStream); // Save the workbook as a CSV file string outputPath = "sample.csv"; workBook.SaveAsCsv(outputPath); message = "Conversion completed!"; } catch (Exception ex) { message = $"An error occurred: {ex.Message}"; } } } 讓我們進一步分析程式碼: 當上傳檔案時,會觸發OnInputFileChange方法,並將InputFileChangeEventArgs物件傳遞給它。 該物件包含有關上傳文件的信息,例如文件名稱和大小。 將原始檔案名稱儲存在名為originalFileName的變數中,以便在頁面上顯示。 在 try-catch 區塊中,建立一個新的MemoryStream物件來讀取上傳檔案的內容。 using 語句確保在不再需要記憶體流時,能夠正確地將其釋放。 使用await關鍵字非同步地將上傳檔案的內容複製到記憶體流中。 這樣可以確保應用程式在讀取檔案時保持回應。 接下來,使用WorkBook.Load方法將記憶體流的內容載入到WorkBook物件中。 此物件代表整個 Excel 工作簿,包括其工作表、儲存格和資料。 然後為轉換後的 CSV 檔案指定輸出檔名。在本例中,我們使用名稱"sample.csv"。 然後使用WorkBook物件的SaveAsCsv方法將工作簿儲存為具有指定輸出檔案名稱的 CSV 檔案。 如果轉換成功,則會顯示一則訊息,表示轉換已完成。 如果發生錯誤,捕獲異常並顯示錯誤訊息。 測試應用程式 Blazor應用程式已經完成,現在是時候進行測試了! 按 F5 鍵在 Visual Studio 中執行您的應用程式。 應用程式運行後,您應該會在頁面上看到一個文件上傳按鈕。 如何在 Blazor 中匯出為 CSV 文件,圖 1:執行 Blazor 應用程式 運行 Blazor 應用程式 點擊按鈕,然後選擇要上傳的 Excel 檔案。 InputFile元件的 accept 屬性中列出了可接受的檔案格式。 如何在 Blazor 中匯出為 CSV 文件,圖 2:選擇 Excel 文件 選擇一個 Excel 文件 選擇文件後,應用程式將讀取該文件,使用 IronXL 將其轉換為 CSV 格式,並將轉換後的文件儲存為指定的輸出檔名。 您應該會看到一條訊息,指示轉換狀態以及原始檔案名稱。 如何在 Blazor 中匯出為 CSV 文件,圖 3:轉換狀態 轉換狀態 恭喜您! 您已成功建立了一個 Blazor 應用程序,該應用程式可以使用 IronXL 將 Excel 檔案匯出為 CSV 格式。 以下截圖顯示了上述程式的輸出結果。 如何在 Blazor 中匯出為 CSV 文件,圖 4:輸出的 Excel 文件 輸出的 Excel 文件 結論 本教學課程示範如何使用 IronXL 建立 Blazor 應用程序,該應用程式可以將 Excel 檔案匯出為 CSV 格式。 我們已經示範如何使用 IronXL 的強大功能建立檔案上傳元件、處理檔案上傳以及將 Excel 檔案轉換為 CSV 格式。 透過將 IronXL 整合到 Blazor 應用程式中,您可以輕鬆處理各種與 Excel 相關的任務,例如匯入、操作和匯出資料。 這為您的專案開啟了廣闊的可能性,並幫助您為用戶提供更豐富的體驗。 您可以使用IronXL函式庫在Blazor中將CSV轉換為Excel 。 IronXL 提供免費試用,讓您在購買前測試其功能和效能。 試用期結束後,IronXL 的授權起價為$799 。 常見問題解答 如何在 Blazor 應用程式中將 Excel 檔案轉換為 CSV 格式? 您可以在 Blazor 應用程式中使用 IronXL.Excel 將 Excel 檔案轉換為 CSV 格式。首先,設定 Blazor 伺服器專案,透過套件管理員控制台安裝 IronXL,並使用 `InputFile` 元件建立檔案上傳元件。然後,將 Excel 檔案讀入記憶體串流,使用 IronXL 將其載入 WorkBook 物件,並使用 SaveAsCsv 方法將檔案匯出為 CSV。 在 Blazor 應用程式中使用 IronXL 的目的為何? IronXL 在 Blazor 應用程式中用來處理 Excel 資料,而不需要 Microsoft Office 或 Excel Interop。它允許開發人員以程式化的方式讀取、處理和匯出 Excel 資料,並實現匯入資料、格式化和將 Excel 檔案轉換為 CSV 等格式等功能。 我可以測試我的 Blazor 應用程式將 Excel 檔案轉換為 CSV 嗎? 是的,您可以在 Visual Studio 中執行 Blazor 應用程式來測試。使用檔案上傳元件選擇 Excel 檔案。應用程式會使用 IronXL 將選取的檔案轉換為 CSV,並提供轉換狀態的回饋。 與 Excel Interop 相比,使用 IronXL 有哪些好處? 使用 IronXL over Excel Interop 可提供多種優點,包括無需安裝 Microsoft Office 即可操作 Excel 檔案、支援多種 Excel 格式 (XLS、XLSX、CSV),以及與 .NET 應用程式相容,可提升效能並方便部署。 如何在我的 Blazor 專案中安裝 IronXL? 若要在您的 Blazor 專案中安裝 IronXL,請開啟 Visual Studio 中的套件管理員控制台,並執行下列指令:Install-Package IronXL.Excel。這會安裝函式庫,讓您可以開始以程式化的方式處理 Excel 檔案。 IronXL.Excel 支援哪些 Excel 檔案格式在 Blazor 中轉換? IronXL 支援各種 Excel 檔案格式在 Blazor 中轉換,包括 .xls、.xlsx、.xlsm、.xltx 和 .csv,讓您可以在應用程式中彈性處理 Excel 資料。 如何在 Blazor 應用程式中建立檔案上傳元件? 要在 Blazor 應用程式中建立檔案上傳元件,請使用 Microsoft.AspNetCore.Components.Forms 命名空間中的 `InputFile` 元件。此元件可讓使用者上傳檔案,然後使用 IronXL 處理檔案,例如將 Excel 轉換為 CSV 等任務。 IronXL 是否提供免費試用? 是的,IronXL 提供免費試用,讓您在購買前探索其特色和功能。試用期結束後,您可以根據專案需求選擇不同的授權選項。 Jordi Bardia 立即與工程團隊聊天 軟體工程師 Jordi 在 Python、C# 和 C++ 上最得心應手,當他不在 Iron Software 展現技術時,便在做遊戲編程。在分担产品测测试,产品开发和研究的责任时,Jordi 为持续的产品改进增值。他说这种多样化的经验使他受到挑战并保持参与, 而这也是他与 Iron Software 中工作一大乐趣。Jordi 在佛罗里达州迈阿密长大,曾在佛罗里达大学学习计算机科学和统计学。 相關文章 發表日期 12月 19, 2025 如何使用 C# Interop 與 IronXL 在 Excel 中建立資料透視表 在無需 Office 依賴的情況下在 C# 中構建 Excel 樞紐分析表。IronXL 對無需 Excel Interop 的樞紐型報告創建提供了強大的數據操作功能。 閱讀更多 發表日期 12月 18, 2025 使用 IronXL 將 C# DataGridView 匯出到 Excel,並帶有列標題 學習如何在 C# 教程中使用 IronXL library 將 DataGridView 資料匯出為 Excel 同時保留列標題。分步教學。 閱讀更多 發表日期 12月 18, 2025 如何在 C# 中使用 IronXL 創建 Excel 生成報告 使用 IronXL 在 C# 中創建 Excel 報告生成。學習構建擁有格式化公式和數據庫集成的專業報告。 閱讀更多 如何在 C# 中將 Excel 轉換為 DataGridView如何在 C# 中將 Excel 轉換為...
發表日期 12月 19, 2025 如何使用 C# Interop 與 IronXL 在 Excel 中建立資料透視表 在無需 Office 依賴的情況下在 C# 中構建 Excel 樞紐分析表。IronXL 對無需 Excel Interop 的樞紐型報告創建提供了強大的數據操作功能。 閱讀更多
發表日期 12月 18, 2025 使用 IronXL 將 C# DataGridView 匯出到 Excel,並帶有列標題 學習如何在 C# 教程中使用 IronXL library 將 DataGridView 資料匯出為 Excel 同時保留列標題。分步教學。 閱讀更多
發表日期 12月 18, 2025 如何在 C# 中使用 IronXL 創建 Excel 生成報告 使用 IronXL 在 C# 中創建 Excel 報告生成。學習構建擁有格式化公式和數據庫集成的專業報告。 閱讀更多