Abfrage von Zellbereichen, die mit dem XML Map Pfad verbunden sind, mithilfe der Worksheet.XmlMapQuery Methode

Mögliche Verwendungsszenarien

Sie können mit Aspose.Cells Zellbereiche abfragen, die dem XML-Pfadbereich zugeordnet sind, und die Methode Worksheet.xmlMapQuery() verwenden. Wenn der Pfad vorhanden ist, gibt sie die Liste der mit diesem Pfad verbundenen Zellbereiche innerhalb der XML-Map zurück. Der erste Parameter der Methode Worksheet.xmlMapQuery() gibt den XML-Elementpfad an und der zweite Parameter gibt an, welche XML-Map Sie abfragen möchten.

Abfrage von Zellbereichen, die mit dem XML-Map-Pfad verbunden sind, mithilfe der Worksheet.XmlMapQuery-Methode

Der folgende Screenshot zeigt Microsoft Excel, das die XML-Map innerhalb der Beispiel-Excel-Datei anzeigt, die im Code verwendet wird. Der Code ruft die XML-Map zweimal ab und druckt die Liste der durch die Methode Worksheet.xmlMapQuery() zurückgegebenen Zellbereiche in der Konsole ab, wie unten gezeigt.

todo:image_alt_text

Beispielcode

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java
//Load sample Excel file having Xml Map
Workbook wb = new Workbook("sampleXmlMapQuery.xlsx");
//Access first XML Map
XmlMap xmap = wb.getWorksheets().getXmlMaps().get(0);
//Access first worksheet
Worksheet ws = wb.getWorksheets().get(0);
//Query Xml Map from Path - /MiscData
System.out.println("Query Xml Map from Path - /MiscData");
ArrayList ret = ws.xmlMapQuery("/MiscData", xmap);
//Print returned ArrayList values
for (int i = 0; i < ret.size(); i++)
{
System.out.println(ret.get(i));
}
System.out.println("");
//Query Xml Map from Path - /MiscData/row/Color
System.out.println("Query Xml Map from Path - /MiscData/row/Color");
ret = ws.xmlMapQuery("/MiscData/row/Color", xmap);
//Print returned ArrayList values
for (int i = 0; i < ret.size(); i++)
{
System.out.println(ret.get(i));
}

Konsolenausgabe

Query Xml Map from Path - /MiscData

Aspose.Cells.CellArea(A1:A8)[0,0,7,0]

Aspose.Cells.CellArea(B1:B8)[0,1,7,1]

Aspose.Cells.CellArea(C1:C8)[0,2,7,2]

Aspose.Cells.CellArea(D1:D8)[0,3,7,3]

Aspose.Cells.CellArea(E1:E8)[0,4,7,4]

Query Xml Map from Path - /MiscData/row/Color

Aspose.Cells.CellArea(D1:D8)[0,3,7,3]

XML-Pfad aus Objektliste/Tabelle erhalten

XML-Daten können in Arbeitsblätter importiert werden. Manchmal ist der XML-Pfad aus den ListObjects des Arbeitsblatts erforderlich. Diese Funktion ist in Excel verfügbar, indem ein Ausdruck wie Sheet1.ListObjects(1).XmlMap.DataBinding verwendet wird. Die gleiche Funktion ist in Aspose.Cells verfügbar, indem ListObject.getXmlMap().getDataBinding().getUrl() aufgerufen wird. Das folgende Beispiel demonstriert diese Funktion. Die Vorlagendatei und andere Quelldateien können von den folgenden Links heruntergeladen werden:

  1. XMLData.xlsx
  2. CountryList.xml
  3. FoodList.xml
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java
// Load XLSX file containing data from XML file
Workbook workbook = new Workbook("XML Data.xlsx");
// Access the first worksheet
Worksheet ws = workbook.getWorksheets().get(0);
// Access ListObject from the first sheet
ListObject listObject = ws.getListObjects().get(0);
// Get the url of the list object's xml map data binding
String url = listObject.getXmlMap().getDataBinding().getUrl();
// Display XML file name
System.out.println(url);