Dotaz na oblasti buněk mapované na cestu mapy Xml pomocí Aspose.Cells

Zavedení

Přemýšleli jste někdy, jak pracovat s XML daty v Excelu pomocí .NET? S Aspose.Cells for .NET, výkonnou knihovnou pro manipulaci s tabulkami, můžete snadno pracovat s mapami XML v souborech aplikace Excel. Představte si, že máte soubor Excelu naplněný strukturovanými daty a potřebujete se dotazovat na konkrétní oblasti namapované na cesty XML – to je místo, kde Aspose.Cells září. V tomto tutoriálu se ponoříme do dotazování oblastí buněk mapovaných na cesty mapy XML v souborech aplikace Excel pomocí Aspose.Cells for .NET. Ať už chcete vytvářet dynamické sestavy nebo automatizovat extrakci dat, tato příručka vám poskytne podrobné pokyny.

Předpoklady

Než se pustíme do kódování, budete potřebovat několik věcí:

  1. Aspose.Cells for .NET: Ujistěte se, že máte nainstalovanou tuto knihovnu. Můžete si jej stáhnoutzde nebo jej získejte přes NuGet.
  2. Soubor Excel mapovaný v XML: Pro tento výukový program budete potřebovat soubor Excel (.xlsx) obsahující mapu XML.
  3. Vývojové prostředí: Tato příručka předpokládá, že používáte Visual Studio, ale jakýkoli editor C# by měl fungovat dobře.
  4. Aspose License: V případě potřeby můžete použít dočasnou licenci, kterou můžete získatzde.

Importujte balíčky

Chcete-li začít, nezapomeňte do souboru kódu importovat potřebné jmenné prostory:

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

S těmito balíčky budete připraveni přistupovat k sešitu, manipulovat s listy a dotazovat se na mapy XML v tabulce.

Krok 1: Načtěte soubor aplikace Excel obsahující mapu XML

Nejprve budete muset načíst soubor aplikace Excel, který již obsahuje mapování XML. Tento soubor funguje jako zdroj dat.

// Definujte cesty k adresáři pro zdroj a výstup
string sourceDir = "Your Document Directory";
// Načtěte soubor Excel
Workbook wb = new Workbook(sourceDir + "sampleXmlMapQuery.xlsx");

Zde,Workbook je třída představující celý soubor Excel, který načtete pomocí cesty k souboru. Nahradit"Your Document Directory" se skutečnou cestou k adresáři, kde je umístěn váš soubor.

Krok 2: Přístup k mapě XML v sešitu

Po načtení souboru je dalším krokem přístup k mapě XML v sešitu. Tato mapa funguje jako most mezi vaší tabulkou a daty XML.

//Získejte přístup k první mapě XML v sešitu
XmlMap xmap = wb.Worksheets.XmlMaps[0];

Zde načteme první mapu XML v sešitu pomocí přístupuXmlMaps[0] zWorksheets sbírka. V sešitu můžete mít více map XML a tento kurz se zaměřuje na první z nich.

Krok 3: Přístup k listu pro dotaz

S připravenou mapou XML nyní budete chtít vybrat konkrétní list, kde jsou umístěna mapovaná data. Toto je obvykle první list, ale záleží na nastavení vašeho souboru.

// Otevřete první list v sešitu
Worksheet ws = wb.Worksheets[0];

Přístup k listu, kde jsou uložena data mapovaná XML, vám umožní zacílit na konkrétní buňky. Zde používáme první list, ale můžete si vybrat jakýkoli jiný list změnou indexu nebo zadáním názvu.

Krok 4: Dotaz na mapu XML pomocí cesty

Nyní přichází hlavní část: dotazování na XML mapu. Zde zadáte cestu XML a načtete data namapovaná na tuto cestu v listu.

Console.WriteLine("Query Xml Map from Path - /MiscData");
ArrayList ret = ws.XmlMapQuery("/MiscData", xmap);

TheXmlMapQuerymetoda přebírá dva parametry – cestu XML a mapu XML, kterou jste získali dříve. V tomto příkladu se dotazujeme na cestu/MiscData , což je cesta nejvyšší úrovně ve struktuře XML. Výsledky jsou uloženy vArrayList, což usnadňuje iteraci.

Krok 5: Zobrazení výsledků dotazu

Po dotazu na data je dalším krokem zobrazení výsledků. Vytiskneme každou položku zArrayList do konzole, abyste měli jasný přehled o tom, jaká data byla extrahována.

// Vytiskněte výsledky dotazu
for (int i = 0; i < ret.Count; i++)
{
    Console.WriteLine(ret[i]);
}

Tato smyčka prochází každou položkou vArrayList a vytiskne jej do konzole. Uvidíte data extrahovaná z cesty mapy XML/MiscData.

Krok 6: Dotaz na vnořenou cestu XML

Chcete-li upřesnit váš dotaz, pojďme se ponořit do vnořené cesty ve struktuře XML, jako je např/MiscData/row/Color.

Console.WriteLine("Query Xml Map from Path - /MiscData/row/Color");
ret = ws.XmlMapQuery("/MiscData/row/Color", xmap);

Zde se dotazujeme na konkrétnější cestu v rámci dat XML. Zúžením na/MiscData/row/Color , cílíte pouze na barevné informace podrow uzel ve struktuře XML.

Krok 7: Zobrazení výsledků dotazu vnořené cesty

Nakonec budete chtít vytisknout výsledky tohoto upřesněného dotazu, abyste viděli konkrétní hodnoty namapované/MiscData/row/Color.

// Vytiskněte výsledky dotazu na vnořenou cestu
for (int i = 0; i < ret.Count; i++)
{
    Console.WriteLine(ret[i]);
}

Stejně jako předtím tato smyčka odesílá výsledky dotazu do konzoly, což vám umožňuje zkontrolovat konkrétní data načtená z vnořené cesty XML.

Závěr

A tady to máte! S Aspose.Cells for .NET je dotazování oblastí buněk mapovaných na cesty map XML přímočaré a vysoce efektivní. Tato výkonná funkce mění hru pro vývojáře, kteří potřebují extrahovat konkrétní XML data z tabulek. Nyní máte základ pro implementaci složitějších dotazů XML a dokonce i kombinaci více mapování XML v rámci pracovních postupů aplikace Excel. Jste připraveni pokračovat? Prozkoumejte dokumentaci Aspose.Cells pro další funkce map XML pro vylepšení vašich aplikací!

FAQ

Mohu namapovat více souborů XML do jednoho sešitu aplikace Excel?

Ano, Aspose.Cells vám umožňuje spravovat více map XML v sešitu, což umožňuje komplexní datové interakce.

Co se stane, když cesta XML v mapě neexistuje?

Pokud je cesta neplatná nebo neexistuje,XmlMapQuery metoda vrátí prázdnouArrayList.

Potřebuji licenci k používání Aspose.Cells pro .NET?

Ano, pro plnou funkčnost je nutná licence. Můžete zkusit azkušební verze zdarmanebo získat adočasná licence.

Mohu uložit dotazovaná data do nového souboru aplikace Excel?

Absolutně! Můžete extrahovat dotazovaná data a zapsat je do jiného souboru aplikace Excel nebo jiného formátu podporovaného Aspose.Cells.

Je možné dotazovat se na XML mapy v jiných formátech než Excel (.xlsx)?

Mapování XML je podporováno v souborech .xlsx. U jiných formátů může být funkce omezená nebo nepodporovaná.