Worksheet.XmlMapQuery メソッドを使用して XML マップ パスにマップされた Cell エリアをクエリします。
考えられる使用シナリオ
を使用して、Aspose.Cells で XML マップ パスにマップされたセル領域をクエリできます。[Worksheet.xmlMapQuery()](https://reference.aspose.com/cells/java/com.aspose.cells/worksheet#xmlMapQuery(java.lang.String,%20com.aspose.cells.XmlMap)) 方法。パスが存在する場合、XML マップ内のそのパスに関連するセル領域のリストが返されます。の最初のパラメーター[Worksheet.xmlMapQuery()](https://reference.aspose.com/cells/java/com.aspose.cells/worksheet#xmlMapQuery(java.lang.String,%20com.aspose.cells.XmlMap)メソッドは XML 要素のパスを指定し、2 番目のパラメーターは照会する XML マップを指定します。
Worksheet.XmlMapQuery メソッドを使用して XML マップ パスにマップされた Cell エリアをクエリします。
次のスクリーンショットは、Microsoft Excel が XML マップを表示している様子を示しています。サンプル Excel ファイルコードで使用されます。このコードは、XML マップに対して 2 回クエリを実行し、Worksheet.xmlMapQuery() 以下に示すように、コンソールでメソッドを実行します。
サンプルコード
// 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)); | |
} |
コンソール出力
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 パスを取得する
XML データをワークシートにインポートできます。ワークシートの ListObjects からの XML パスが必要になる場合があります。この機能は、Sheet1.ListObjects(1).XmlMap.DataBinding のような式を使用して Excel で利用できます。同じ機能は、Aspose.Cells に電話することで利用できます。ListObject.getXmlMap().getDataBinding().getUrl().次の例は、この機能を示しています。テンプレート ファイルとその他のソース ファイルは、次のリンクからダウンロードできます。
// 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); |