Wstęp
Czy kiedykolwiek chciałeś efektywnie pracować z danymi XML w Excelu, korzystając z platformy .NET? Dzięki Aspose.Cells for .NET, potężnej bibliotece do manipulacji arkuszami kalkulacyjnymi, interakcja z mapami XML w plikach Excela staje się bezproblemowa. W tym samouczku pokażemy, jak wyszukiwać określone obszary zamapowane na ścieżki XML w plikach Excela, co idealnie nadaje się do generowania dynamicznych raportów lub automatyzacji ekstrakcji danych. Przyjrzyjmy się temu krok po kroku!
Wymagania wstępne
Zanim zaczniemy kodować, przygotuj następujące rzeczy:
- Aspose.Cells dla .NET: Pobierz Tutaj lub zainstaluj przez NuGet.
- Plik Excela z mapą XML: Będziesz potrzebować pliku Excela (.xlsx) zawierającego już mapę XML.
- Środowisko programistyczne: Ten przewodnik jest przeznaczony dla programu Visual Studio, ale inne edytory języka C# również będą działać.
- Licencja Aspose: Możesz uzyskać tymczasową licencję Tutaj jeśli potrzebujesz.
Konfigurowanie środowiska programistycznego
Zacznij od zaimportowania wymaganych przestrzeni nazw do pliku kodu:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Diagnostics;
using System.Collections;
Importując te pakiety, konfigurujesz swoje środowisko w celu uzyskania dostępu do skoroszytu i jego arkuszy oraz manipulowania nimi.
Krok 1: Załaduj plik Excel
Najpierw musisz załadować plik Excela zawierający mapowanie XML:
// Zdefiniuj katalog dla pliku źródłowego
string sourceDir = "Your Document Directory"; // Zaktualizuj ścieżkę odpowiednio
// Załaduj plik Excel
Workbook workbook = new Workbook(sourceDir + "sampleXmlMapQuery.xlsx");
Tutaj, Workbook
reprezentuje cały plik Excela, który ładujesz używając ścieżki pliku.
Krok 2: Uzyskaj dostęp do mapy XML
Po załadowaniu pliku uzyskaj dostęp do mapy XML w skoroszycie:
// Uzyskaj dostęp do pierwszej mapy XML w skoroszycie
XmlMap xmlMap = workbook.Worksheets.XmlMaps[0];
Spowoduje to pobranie pierwszej mapy XML ze skoroszytu. Jeśli skoroszyt zawiera wiele map, dostosuj indeks w razie potrzeby.
Krok 3: Wybierz arkusz roboczy
Następnie uzyskaj dostęp do arkusza zawierającego zmapowane dane XML:
// Uzyskaj dostęp do pierwszego arkusza w skoroszycie
Worksheet worksheet = workbook.Worksheets[0];
W tym przypadku wybieramy pierwszy arkusz, ale w razie potrzeby możesz łatwo wybrać inny.
Krok 4: Zapytanie mapy XML
Teraz przeszukajmy mapę XML, używając ścieżki XML. Na przykład, jeśli chcesz pobrać dane z /MiscData
ścieżka, zrobiłbyś:
// Zapytaj mapę XML, używając ścieżki
Console.WriteLine("Querying XML Map from Path - /MiscData");
ArrayList results = worksheet.XmlMapQuery("/MiscData", xmlMap);
Ta metoda przyjmuje ścieżkę XML i pobiera powiązane dane do obiektu ArrayList.
Krok 5: Wyświetlanie wyników zapytania
Teraz, gdy masz już zapytane dane, wydrukuj wyniki na konsoli:
// Wyjście wyników zapytania
foreach (var result in results)
{
Console.WriteLine(result);
}
Ta pętla umożliwia przeglądanie wszystkich elementów pobranych ze ścieżki XML.
Krok 6: Zapytanie o zagnieżdżoną ścieżkę XML
Możesz doprecyzować zapytanie, aby uzyskać bardziej szczegółowe dane. Na przykład, jeśli interesują Cię informacje o kolorze, które znajdziesz pod /MiscData/row/Color
, dostosuj swoje zapytanie w następujący sposób:
// Zapytanie o zagnieżdżoną ścieżkę XML
Console.WriteLine("Querying XML Map from Path - /MiscData/row/Color");
results = worksheet.XmlMapQuery("/MiscData/row/Color", xmlMap);
Krok 7: Wyświetlanie zagnieżdżonych wyników zapytania
Na koniec wyświetlmy dane z tej konkretnej ścieżki:
// Wyświetl wyniki zagnieżdżonego zapytania o ścieżkę
foreach (var result in results)
{
Console.WriteLine(result);
}
Ta pętla wydrukuje każdy element z zagnieżdżonego zapytania, pokazując docelowe dane.
Wniosek
tym samouczku omówiliśmy, jak wyszukiwać dane XML mapowane w plikach Excela za pomocą Aspose.Cells dla platformy .NET. Ta możliwość jest nieoceniona dla programistów, którzy chcą dynamicznie wyodrębniać określone dane XML. Dzięki tej podstawowej wiedzy możesz teraz implementować bardziej złożone zapytania XML, a nawet pracować z wieloma mapowaniami XML w swoich projektach Excela.
Najczęściej zadawane pytania
Czy mogę zmapować wiele plików XML w jednym skoroszycie programu Excel?
Tak, Aspose.Cells obsługuje zarządzanie wieloma mapami XML w ramach jednego skoroszytu.
Co się stanie, jeśli ścieżka XML nie istnieje na mapie?
Jeśli zapytasz o nieprawidłową ścieżkę, XmlMapQuery
Metoda zwróci pustą listę ArrayList.
Czy do korzystania z Aspose.Cells dla .NET wymagana jest licencja?
Tak, do pełnej funkcjonalności potrzebna jest licencja. bezpłatny okres próbny i tymczasowa licencja są dostępne.
Czy mogę zapisać dane będące przedmiotem zapytania w nowym pliku Excel?
Oczywiście! Możesz wyodrębnić dane i zapisać je w innym pliku Excel lub wyeksportować do różnych formatów obsługiwanych przez Aspose.Cells.
Czy zapytania do map XML są obsługiwane w formatach innych niż Excel (.xlsx)?
Mapowanie XML jest obsługiwane przede wszystkim w plikach .xlsx, a funkcjonalność w przypadku innych formatów może być ograniczona.