通过 Worksheet.XmlMapQuery 方法查询映射到 XML 地图路径的单元格区域
可能的使用场景
您可以使用Aspose.Cells的Worksheet.xmlMapQuery()方法查询映射到XML映射路径的单元格区域。如果路径存在,它将返回与XML映射内部该路径相关的单元格区域的列表。Worksheet.xmlMapQuery()方法的第一个参数指定XML元素路径,第二个参数指定您要查询的XML映射。
通过 Worksheet.XmlMapQuery 方法查询映射到 XML 地图路径的单元格区域
下面的屏幕截图显示了Microsoft Excel显示内含在代码中使用的sample Excel文件中的XML映射。代码两次查询XML映射并以控制台上的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 路径。在 Excel 中,可以通过类似 Sheet1.ListObjects(1).XmlMap.DataBinding 的表达式来实现这一特性。在 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); |