用C++添加自定义XML部分并按ID选择
Contents
[
Hide
]
可能的使用场景
自定义XML部件是存储在微软Excel文件中的XML数据,由与之交互的应用程序使用。目前没有直接通过Excel用户界面添加的方法,但可以通过编程实现,例如使用VSTO或Aspose.Cells。使用Workbook.CustomXmlParts.Add()方法以API添加自定义XML部分,也可以通过CustomXmlPart.GetID()属性设置其ID。若要按ID选择自定义XML部件,可以使用Workbook.CustomXmlParts.SelectByID()方法。
添加自定义XML部件并按ID选择
以下示例代码先使用Workbook.CustomXmlParts.Add()方法添加了四个自定义XML部分,然后用CustomXmlPart.GetID()属性设置它们的ID,最后用Workbook.CustomXmlParts.SelectByID()方法查找或选择已添加的其中一个自定义XML部分。请参考下面的控制台输出。
示例代码
#include <iostream>
#include "Aspose.Cells.h"
using namespace Aspose::Cells;
using namespace Aspose::Cells::Markup;
int main()
{
Aspose::Cells::Startup();
// Create empty workbook
Workbook wb;
// Some data in the form of byte array
// Please use correct XML and Schema instead
Vector<uint8_t> btsData = { 1, 2, 3 };
Vector<uint8_t> btsSchema = { 1, 2, 3 };
// Create four custom xml parts
wb.GetCustomXmlParts().Add(btsData, btsSchema);
wb.GetCustomXmlParts().Add(btsData, btsSchema);
wb.GetCustomXmlParts().Add(btsData, btsSchema);
wb.GetCustomXmlParts().Add(btsData, btsSchema);
// Assign ids to custom xml parts
wb.GetCustomXmlParts().Get(0).SetID(u"Fruit");
wb.GetCustomXmlParts().Get(1).SetID(u"Color");
wb.GetCustomXmlParts().Get(2).SetID(u"Sport");
wb.GetCustomXmlParts().Get(3).SetID(u"Shape");
// Specify search custom xml part id
U16String srchID = u"Fruit";
srchID = u"Color";
srchID = u"Sport";
// Search custom xml part by the search id
CustomXmlPart cxp = wb.GetCustomXmlParts().SelectByID(srchID);
// Print the found or not found message on console
if (cxp.IsNull())
{
std::cout << "Not Found: CustomXmlPart ID " << srchID.ToUtf8() << std::endl;
}
else
{
std::cout << "Found: CustomXmlPart ID " << srchID.ToUtf8() << std::endl;
}
std::cout << "AddCustomXMLPartsAndSelectThemByID executed successfully." << std::endl;
Aspose::Cells::Cleanup();
}
控制台输出
Found: CustomXmlPart ID Sport