介紹

您是否曾經想使用 .NET 在 Excel 中高效處理 XML 資料?借助 Aspose.Cells for .NET(一個強大的電子表格操作庫),與 Excel 文件中的 XML 地圖的交互變得無縫。在本教學中,我們將探討如何查詢 Excel 檔案中對應到 XML 路徑的特定區域,這對於產生動態報表或自動擷取資料非常理想。讓我們深入了解逐步過程!

先決條件

在開始編碼之前,請確保準備好以下內容:

  1. Aspose.Cells for .NET:下載 這裡 或透過 NuGet 安裝。
  2. XML 對應的 Excel 檔案:您需要一個已存在 XML 對應的 Excel 檔案 (.xlsx)。
  3. 開發環境:本指南專為 Visual Studio 量身定制,但其他 C# 編輯器也可以使用。
  4. Aspose 許可證:您可以獲得臨時許可證 這裡 如果你需要的話。

設定您的開發環境

首先在程式碼檔案中匯入所需的命名空間:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Diagnostics;
using System.Collections;

透過匯入這些包,您可以設定環境來存取和操作工作簿及其工作表。

步驟 1:載入 Excel 文件

首先,您需要載入包含 XML 對應的 Excel 檔案:

// 定義原始檔的目錄
string sourceDir = "Your Document Directory"; // 相應地更新路徑

// 載入 Excel 文件
Workbook workbook = new Workbook(sourceDir + "sampleXmlMapQuery.xlsx");

這裡, Workbook 代表您的整個 Excel 文件,您可以使用其文件路徑載入它。

步驟 2:存取 XML 映射

檔案載入完成後,存取工作簿中的 XML 對應:

// 存取工作簿中的第一個 XML 映射
XmlMap xmlMap = workbook.Worksheets.XmlMaps[0];

這將從您的工作簿中檢索第一個 XML 對應。如果您的工作簿包含多張地圖,請根據需要調整索引。

步驟 3:選擇工作表

接下來,存取包含已對應的 XML 資料的工作表:

// 訪問工作簿中的第一個工作表
Worksheet worksheet = workbook.Worksheets[0];

在這種情況下,我們選擇第一個工作表,但您可以根據需要輕鬆地選擇另一個工作表。

步驟 4:查詢 XML 映射

現在,讓我們使用 XML 路徑查詢 XML 對應。例如,如果你想從 /MiscData 路徑,你會這樣做:

// 使用路徑查詢 XML 映射
Console.WriteLine("Querying XML Map from Path - /MiscData");
ArrayList results = worksheet.XmlMapQuery("/MiscData", xmlMap);

此方法會取得 XML 路徑並將相關資料檢索到 ArrayList 中。

步驟5:顯示查詢結果

現在已經有了查詢的數據,我們來將結果列印到控制台上:

// 輸出查詢結果
foreach (var result in results)
{
    Console.WriteLine(result);
}

此循環可讓您查看從 XML 路徑檢索的所有項目。

步驟 6:查詢巢狀 XML 路徑

您可以最佳化查詢以定位更具體的資料。例如,如果您對以下顏色資訊感興趣 /MiscData/row/Color,您可以像這樣調整查詢:

// 查詢嵌套的 XML 路徑
Console.WriteLine("Querying XML Map from Path - /MiscData/row/Color");
results = worksheet.XmlMapQuery("/MiscData/row/Color", xmlMap);

步驟 7:顯示嵌套查詢結果

最後,讓我們顯示來自這個特定路徑的資料:

// 輸出嵌套路徑查詢的結果
foreach (var result in results)
{
    Console.WriteLine(result);
}

此循環將列印嵌套查詢中的每個項目,向您顯示目標資料。

結論

在本教學中,我們探討如何使用 Aspose.Cells for .NET 查詢 Excel 檔案中所對應的 XML 資料。對於尋求動態提取特定 XML 資料的開發人員來說,此功能非常有價值。有了這些基礎知識,您現在可以實作更複雜的 XML 查詢,甚至可以在 Excel 專案中使用多個 XML 對應。

常見問題解答

我可以在單一 Excel 工作簿中對應多個 XML 檔案嗎?

是的,Aspose.Cells 支援在單一工作簿中管理多個 XML 對應。

如果地圖中不存在 XML 路徑怎麼辦?

如果查詢無效路徑, XmlMapQuery 方法將傳回一個空的ArrayList。

使用 Aspose.Cells for .NET 是否需要許可證?

是的,您需要許可證才能使用全部功能。一個 免費試用 和一個 臨時執照 可用。

我可以將查詢的資料儲存到新的 Excel 檔案嗎?

絕對地!您可以提取資料並將其儲存到另一個 Excel 檔案或將其匯出為 Aspose.Cells 支援的不同格式。

是否支援除 Excel(.xlsx)以外的格式的 XML 地圖查詢?

XML 映射主要在 .xlsx 檔案中受支持,其他格式的功能可能受到限制。