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 mithilfe der Methode Worksheet.XmlMapQuery() Zellbereiche abfragen, die mit dem XML-Map-Pfad verknüpft sind. Wenn der Pfad vorhanden ist, gibt die Methode eine Liste der mit diesem Pfad verknüpften Zellbereiche in 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 abgefragt werden soll.
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 in der Beispiel-Excel-Datei anzeigt, die im Code verwendet wird. Der Code fragt die XML-Map zweimal ab und gibt die Liste der von der Methode Worksheet.XmlMapQuery() zurückgegebenen Zellbereiche in der Konsole aus, wie unten gezeigt.
Beispielcode
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET | |
//Load sample Excel file having Xml Map | |
Workbook wb = new Workbook("sampleXmlMapQuery.xlsx"); | |
//Access first XML Map | |
XmlMap xmap = wb.Worksheets.XmlMaps[0]; | |
//Access first worksheet | |
Worksheet ws = wb.Worksheets[0]; | |
//Query Xml Map from Path - /MiscData | |
Console.WriteLine("Query Xml Map from Path - /MiscData"); | |
ArrayList ret = ws.XmlMapQuery("/MiscData", xmap); | |
//Print returned ArrayList values | |
for (int i = 0; i < ret.Count; i++) | |
{ | |
Console.WriteLine(ret[i]); | |
} | |
Console.WriteLine(""); | |
//Query Xml Map from Path - /MiscData/row/Color | |
Console.WriteLine("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.Count; i++) | |
{ | |
Console.WriteLine(ret[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 wird der XML-Pfad aus den ListObjects des Arbeitsblatts benötigt. Diese Funktion steht in Excel zur Verfügung, indem ein Ausdruck wie Sheet1.ListObjects(1).XmlMap.DataBinding verwendet wird. Die gleiche Funktion ist in Aspose.Cells verfügbar, indem ListObject.XmlMap.DataBinding.Url aufgerufen wird. Das folgende Beispiel demonstriert diese Funktion. Die Vorlagendatei und andere Quelldateien können von den folgenden Links heruntergeladen werden:
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET | |
// Load XLSX file containing data from XML file | |
Workbook workbook = new Workbook("XML Data.xlsx"); | |
// Access the first worksheet | |
Worksheet ws = workbook.Worksheets[0]; | |
// Access ListObject from the first sheet | |
Aspose.Cells.Tables.ListObject listObject = ws.ListObjects[0]; | |
// Get the url of the list object's xml map data binding | |
string url = listObject.XmlMap.DataBinding.Url; | |
// Display XML file name | |
Console.WriteLine(url); |