使用 IRONXL 如何在 VB.NET 中開啟 Excel 文件 Jordi Bardia 發表日期:9月 29, 2025 下載 IronXL NuGet 下載 DLL 下載 開始免費試用 法學碩士副本 法學碩士副本 將頁面複製為 Markdown 格式,用於 LLMs 在 ChatGPT 中打開 請向 ChatGPT 諮詢此頁面 在雙子座打開 請向 Gemini 詢問此頁面 在雙子座打開 請向 Gemini 詢問此頁面 打開困惑 向 Perplexity 詢問有關此頁面的信息 分享 在 Facebook 上分享 分享到 X(Twitter) 在 LinkedIn 上分享 複製連結 電子郵件文章 如果你曾經嘗試在 VB.NET 中開啟 Excel 文件,你就會知道在沒有安裝 Microsoft Office 的情況下開啟 Excel 文件有多麼棘手。 傳統的互通方法依賴 Excel 本身,需要複雜的 COM 引用,並且經常會導致版本衝突——尤其是在伺服器或雲端環境中。 這就是IronXL 的用武之地。 這是一個現代化的 .NET 程式庫,可讓您直接讀取 XLSX、XLS、CSV 和 TSV 文件,而無需安裝 Office。 使用 IronXL,您可以編寫更簡潔、更可靠的 VB.NET 程式碼,在任何地方(Windows、Linux 或雲端)處理 Excel 文件,並避免互通性帶來的所有麻煩。 在本指南中,我們將向您展示如何輕鬆上手並開始使用 Excel 檔案。 如何在我的VB.NET專案中安裝IronXL? 使用 IronXL 入門只需幾秒鐘。 開啟 Visual Studio 2022,導覽至您的 VB.NET 項目,然後使用套件管理器控制台: Install-Package IronXL.Excel 或者,右鍵單擊您的項目,選擇"管理 NuGet 套件",搜尋"IronXL",然後按一下"安裝"。 如何在 VB.NET 中開啟 Excel 檔案:圖 1 - IronXL NuGet 安裝 安裝完成後,將以下導入語句加入您的 VB.NET 檔案: Imports IronXL Imports IronXL VB .NET 就是這樣。 沒有複雜的 COM 引用,沒有 Office 依賴項,沒有特定版本的組件。 您的 VB.NET Excel 檔案讀取器已準備就緒,可在任何電腦上執行。有關詳細的設定說明,請查看我們的 VB.NET Excel 檔案教學。 簡單程式碼範例:使用 IronXL 讀取 Excel 文檔 以下是一個完整的 VB.NET 範例,示範如何開啟 Excel 工作簿並讀取資料: Imports IronXL Module Program Sub Main() ' Load any Excel file - XLSX, XLS, CSV, or TSV Dim workbook As WorkBook = WorkBook.Load("example.xlsx") ' Access the worksheet with our sales data (the second sheet) Dim worksheet As WorkSheet = workbook.WorkSheets(1) ' Read a specific cell value Dim revenue As Decimal = worksheet("E2").DecimalValue Console.WriteLine($"Order Total: {revenue}") ' Read a range of cells For Each cell In worksheet("C2:C6") Console.WriteLine($"Product: {cell.Text}") Next End Sub End Module Imports IronXL Module Program Sub Main() ' Load any Excel file - XLSX, XLS, CSV, or TSV Dim workbook As WorkBook = WorkBook.Load("example.xlsx") ' Access the worksheet with our sales data (the second sheet) Dim worksheet As WorkSheet = workbook.WorkSheets(1) ' Read a specific cell value Dim revenue As Decimal = worksheet("E2").DecimalValue Console.WriteLine($"Order Total: {revenue}") ' Read a range of cells For Each cell In worksheet("C2:C6") Console.WriteLine($"Product: {cell.Text}") Next End Sub End Module VB .NET WorkBook.Load() 方法會自動偵測檔案格式; 無需指定是 XLS 格式還是 XLSX 格式。 使用 workbook.GetWorkSheet("Sheet1") 透過索引或檔案名稱存取 Excel 工作表。 每個單元格透過諸如 IntValue、DecimalValue、DateTimeValue 或通用 Text 屬性等屬性傳回類型化的值。 對於更複雜的情況,請查閱我們的Excel 公式文件。 如您所見,IronXL 已成功開啟檔案並讀取了我們要求讀取的訂單總額。 它還能夠讀取和提取所有訂單中每件售出產品的資訊。 如何在 VB.NET 中開啟 Excel 檔案:圖 2 - 讀取 Excel 檔案的範例輸出 如何讀取不同類型的Excel資料? IronXL 在讀取 Excel VB.NET 檔案時能夠智慧地處理所有 Excel 資料類型。 以下是如何處理各種資料場景的方法: ' Open workbook from any location using the filename and path Dim wb As WorkBook = WorkBook.Load("C:\Data\Inventory.xlsx") Dim ws As WorkSheet = wb.GetWorkSheet("Products") ' Read different data types safely Dim productName As String = ws("A2").StringValue Dim quantity As Integer = ws("B2").IntValue Dim price As Decimal = ws("C2").DecimalValue Dim lastUpdated As DateTime = ws("D2").DateTimeValue ' Process entire columns efficiently Dim totalStock As Decimal = ws("B2:B100").Sum() Dim maxPrice As Decimal = ws("C2:C100").Max() ' Iterate through all used cells starting at row index 1 to skip header (zero-based index) For i As Integer = 1 To ws.Rows.Count - 1 Dim row = ws.Rows(i) ' Stop at first completely empty row If row.Columns(0).Value Is Nothing AndAlso row.Columns(1).Value Is Nothing AndAlso row.Columns(2).Value Is Nothing AndAlso row.Columns(3).Value Is Nothing Then Exit For ' Read values safely Dim sku As String = If(row.Columns(0).Value IsNot Nothing, row.Columns(0).StringValue, "") Dim stock As Integer = If(row.Columns(1).Value IsNot Nothing, row.Columns(1).IntValue, 0) Dim priceVal As Decimal = If(row.Columns(2).Value IsNot Nothing, row.Columns(2).DecimalValue, 0D) Dim rwLastUpdated As DateTime? = If(row.Columns(3).Value IsNot Nothing, row.Columns(3).DateTimeValue, Nothing) ' Format date Dim lastUpdatedStr As String = If(rwLastUpdated.HasValue, rwLastUpdated.Value.ToString("dd/MM/yyyy"), "") ' Print only rows with data If sku <> "" OrElse stock <> 0 OrElse priceVal <> 0D OrElse lastUpdatedStr <> "" Then Console.WriteLine($"SKU: {sku}, Stock: {stock}, Price: {priceVal:C}, Last Updated: {lastUpdatedStr}") End If Next ' Open workbook from any location using the filename and path Dim wb As WorkBook = WorkBook.Load("C:\Data\Inventory.xlsx") Dim ws As WorkSheet = wb.GetWorkSheet("Products") ' Read different data types safely Dim productName As String = ws("A2").StringValue Dim quantity As Integer = ws("B2").IntValue Dim price As Decimal = ws("C2").DecimalValue Dim lastUpdated As DateTime = ws("D2").DateTimeValue ' Process entire columns efficiently Dim totalStock As Decimal = ws("B2:B100").Sum() Dim maxPrice As Decimal = ws("C2:C100").Max() ' Iterate through all used cells starting at row index 1 to skip header (zero-based index) For i As Integer = 1 To ws.Rows.Count - 1 Dim row = ws.Rows(i) ' Stop at first completely empty row If row.Columns(0).Value Is Nothing AndAlso row.Columns(1).Value Is Nothing AndAlso row.Columns(2).Value Is Nothing AndAlso row.Columns(3).Value Is Nothing Then Exit For ' Read values safely Dim sku As String = If(row.Columns(0).Value IsNot Nothing, row.Columns(0).StringValue, "") Dim stock As Integer = If(row.Columns(1).Value IsNot Nothing, row.Columns(1).IntValue, 0) Dim priceVal As Decimal = If(row.Columns(2).Value IsNot Nothing, row.Columns(2).DecimalValue, 0D) Dim rwLastUpdated As DateTime? = If(row.Columns(3).Value IsNot Nothing, row.Columns(3).DateTimeValue, Nothing) ' Format date Dim lastUpdatedStr As String = If(rwLastUpdated.HasValue, rwLastUpdated.Value.ToString("dd/MM/yyyy"), "") ' Print only rows with data If sku <> "" OrElse stock <> 0 OrElse priceVal <> 0D OrElse lastUpdatedStr <> "" Then Console.WriteLine($"SKU: {sku}, Stock: {stock}, Price: {priceVal:C}, Last Updated: {lastUpdatedStr}") End If Next VB .NET IronXL 可自動處理空白儲存格、合併儲存格和公式。 VB.NET Excel 函式庫會在讀取公式時重新計算公式,確保您隨時獲得最新值。 對於大型資料集,為了獲得最佳效能,請使用 Sum()、Average()、Min() 和 Max() 等聚合函數。 需要匯出數據嗎? 學習如何將Excel檔案轉換為CSV檔案。 如何在 VB.NET 中開啟 Excel 檔案:圖 3 - 讀取並顯示所用儲存格中的數據 能舉個生產應用方面的實際例子嗎? 讓我們建立一個真正的庫存檢查器,使用 VB.NET 開啟 Excel 檔案並處理多個 Excel 工作表: Imports IronXL Imports System.IO Public Class ExcelInventoryReader Public Function CheckLowStock(filePath As String) As List(Of String) Dim lowStockItems As New List(Of String) Try Dim workbook As WorkBook = WorkBook.Load(filePath) ' Process all worksheets in the workbook For Each sheet As WorkSheet In workbook.WorkSheets Console.WriteLine($"Checking {sheet.Name}...") ' Find items with stock below 10 units For rowIndex As Integer = 2 To sheet.RowCount Dim itemName As String = sheet($"A{rowIndex}").StringValue Dim stockLevel As Integer = sheet($"B{rowIndex}").IntValue If stockLevel < 10 AndAlso Not String.IsNullOrEmpty(itemName) Then lowStockItems.Add($"{itemName} - {stockLevel} units ({sheet.Name})") End If Next Next Catch ex As Exception Console.WriteLine($"Error reading Excel file: {ex.Message}") End Try Return lowStockItems End Function End Class Imports IronXL Imports System.IO Public Class ExcelInventoryReader Public Function CheckLowStock(filePath As String) As List(Of String) Dim lowStockItems As New List(Of String) Try Dim workbook As WorkBook = WorkBook.Load(filePath) ' Process all worksheets in the workbook For Each sheet As WorkSheet In workbook.WorkSheets Console.WriteLine($"Checking {sheet.Name}...") ' Find items with stock below 10 units For rowIndex As Integer = 2 To sheet.RowCount Dim itemName As String = sheet($"A{rowIndex}").StringValue Dim stockLevel As Integer = sheet($"B{rowIndex}").IntValue If stockLevel < 10 AndAlso Not String.IsNullOrEmpty(itemName) Then lowStockItems.Add($"{itemName} - {stockLevel} units ({sheet.Name})") End If Next Next Catch ex As Exception Console.WriteLine($"Error reading Excel file: {ex.Message}") End Try Return lowStockItems End Function End Class VB .NET 這段可用於生產的 VB.NET 程式碼示範了錯誤處理、多工作表處理和實際業務邏輯。 IronXL 可以有效率地在記憶體中處理最大 10MB 的檔案。 對於較大的文件,可以考慮使用特定的範圍來選擇分塊處理。 常見問題,例如檔案權限問題,在我們的故障排除指南中均有介紹。 有關 VB.NET Excel 自動化的討論,可造訪Microsoft Q&A 論壇尋求社群支援。 結論 使用IronXL ,在 VB.NET 中讀取和處理 Excel 檔案從未如此簡單——而且您無需安裝 Microsoft Office。 從安全地讀取多種資料類型、遍歷大型工作表、處理公式和空白儲存格,到處理多工作表工作簿,IronXL 簡化了 Excel 自動化的各個方面。 這個現代化的 .NET 程式庫消除了互通的複雜性,避免了版本衝突,並且可以在 Windows、Linux 和雲端環境中無縫運行。 無論您是建立小型庫存檢查器還是處理企業級 Excel 數據,IronXL 都能提供可靠的效能、簡潔的程式碼和強大的錯誤處理。 準備好簡化您的 VB.NET Excel 工作流程了嗎? 立即開始您的 IronXL 免費試用,體驗更快、更簡潔、完全獨立於 Office 的 Excel 檔案處理方式。 瀏覽我們的文件和教程,以充分發揮 IronXL 在您的應用程式中的強大功能。 !{--01001100010010010100001001010010010000010101001001011001010111110100011101000101010101 01000101111101010011010101000100000101010010010101000100010101000100010111110101011101001000110 1010101000100100001011111010100000101001001001111010001000101010101010000110101010100101010101011 10101010001010010010010010010000010100110001011111010000100100110001001111101000011010010111111010000110100101110-- 常見問題解答 如果沒有 Microsoft Office,如何在 VB.NET 中開啟 Excel 檔案? 使用 IronXL library,您可以在 VB.NET 中開啟和讀取 Excel 檔案,而無需 Microsoft Office。IronXL 提供一種直接的方式來處理 Excel 檔案,而不需要 Microsoft Office 或複雜的 Interop 方法。 在 VB.NET 中使用 IronXL 處理 Excel 有什麼好處? IronXL 為 .NET 簡化 Excel 在 VB.NET 中的處理過程,不需要 Microsoft Office 並避免複雜的 COM 參照。它可確保不同環境(如伺服器和雲端平台)的相容性,並有助於防止版本衝突。 是否可以使用 IronXL 同時處理 XLSX 和 XLS 檔案? 是的,IronXL 支援處理 XLSX 和 XLS 檔案格式,讓您可以在 VB.NET 應用程式中開啟、讀取和處理這些 Excel 檔案。 使用 IronXL 需要安裝任何其他軟體嗎? 在 VB.NET 中使用 IronXL 處理 Excel 檔案不需要額外的軟體。IronXL 是一個獨立的函式庫,可直接整合到您的 VB.NET 專案中。 IronXL 可以在雲端環境中使用嗎? 是的,IronXL.Excel 的設計可在雲端環境中無縫運作,避免傳統 Excel Interop 方法常遇到的伺服器或雲端平台版本衝突問題。 IronXL 如何處理 Excel 檔案相容性? IronXL.Excel 支援 XLSX 和 XLS 等多種 Excel 檔案格式,並提供強大的功能來操作和處理這些檔案,而無需依賴 Microsoft Office,因此可確保相容性。 IronXL 是否與不同的 VB.NET 版本相容? IronXL 與各種版本的 VB.NET 相容,因此對於使用不同版本 .NET Framework 的開發人員而言,IronXL 是一套通用的解決方案。 在 VB.NET 中使用 Excel 的傳統 Interop 方法常遇到哪些挑戰? 傳統的 Interop 方法通常需要 Microsoft Office,涉及複雜的 COM 參照,而且容易發生版本衝突,尤其是在伺服器或雲端環境中。IronXL 提供了更可靠、更直接的方法,為這些挑戰提供了解決方案。 IronXL.Excel 能否用於 Excel 檔案操作,例如編輯或匯出資料? 是的,IronXL 不僅提供讀取 Excel 檔案的功能,還提供編輯和匯出資料的功能,使其成為在 VB.NET 中操作 Excel 檔案的綜合工具。 我在哪裡可以找到在 VB.NET 中使用 IronXL 的工作程式碼範例? 您可以在 IronXL 文件和教學中找到在 VB.NET 中使用 IronXL 的工作程式碼範例,這些範例提供了在沒有 Microsoft Office 的情況下處理 Excel 檔案的逐步指導。 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# CSV 函式庫讀寫文件如何在 C# 中將 CSV 文件讀...
發表日期 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 報告生成。學習構建擁有格式化公式和數據庫集成的專業報告。 閱讀更多