通过 Worksheet.XmlMapQuery 方法查询映射到 XML 地图路径的单元格区域
可能的使用场景
您可以使用 Aspose.Cells 的 Worksheet.XmlMapQuery() 方法查询映射到 XML 地图路径的单元区域。如果路径存在,它将返回与 XML 地图内该路径相关的单元区域列表。 Worksheet.XmlMapQuery() 方法的第一个参数指定 XML 元素路径,第二个参数指定您想要查询的 XML 地图。
通过 Worksheet.XmlMapQuery 方法查询映射到 XML 地图路径的单元格区域
以下屏幕截图显示了 Microsoft Excel 在代码中使用的 示例 Excel 文件 内显示 XML 地图。代码查询 XML 地图两次,并将 Worksheet.XmlMapQuery() 方法返回的单元区域列表打印到控制台上,如下所示。
示例代码
// 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]); | |
} |
控制台输出
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.XmlMap.DataBinding.Url来实现相同的功能。以下示例演示了此功能。模板文件和其他源文件可从以下链接下载:
// 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); |