Hämta eller ange klassidentifieraren för det inbäddade OLE objektet
Möjliga användningsscenario
Aspose.Cells tillhandahåller egenskapen OleObject.ClassIdentifier som du kan använda för att hämta eller ange klassidentifieraren för ett inbäddat ole-objekt. Ole-objektens klassidentifierare är faktiskt GUID:er, dvs globalt unika identifierare. GUID är alltid 16 byte lång, därför är klassidentifierarna också 16 byte långa. De återfinns ofta i Windows-registret och ger information till värdprogrammet om hur man öppnar inbäddade ole-objekt som innehåller olika inbäddade resurser i klientprogrammet.
Hämta eller ange klassidentifieraren för det inbäddade OLE-objektet
Bilden nedan visar Ole-objektets klassidentifierare dvs. GUID som har lästs från den provexmelfilen som innehåller det inbäddade PowerPoint-ole-objektet.
Exempelkod
Se kodexemplet nedan som körs med provexmelfilen och dess konsoloutput som skriver ut Klassidentifieraren för Ole-objektet dvs. GUID. Den utskrivna GUID:en är exakt samma som visas i skärmbilden.
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java | |
// The path to the documents directory. | |
String dataDir = Utils.getSharedDataDir(GetSettheClassIdentifier.class) + "articles/"; | |
//Load your sample workbook which contains embedded PowerPoint ole object | |
Workbook wb = new Workbook(dataDir + "sample.xls"); | |
//Access its first worksheet | |
Worksheet ws = wb.getWorksheets().get(0); | |
//Access first ole object inside the worksheet | |
OleObject oleObj = ws.getOleObjects().get(0); | |
//Get the class identifier of ole object in bytes and convert them into GUID | |
byte[] classId = oleObj.getClassIdentifier(); | |
//Position of the bytes and formatting | |
int[] pos = {3, 2, 1, 0, -1, 5, 4, -1, 7, 6, -1, 8, 9, -1, 10, 11, 12, 13, 14,15}; | |
StringBuilder sb = new StringBuilder(); | |
for(int i=0; i<pos.length; i++) | |
{ | |
if(pos[i]==-1) | |
{ | |
sb.append("-"); | |
} | |
else | |
{ | |
sb.append(String.format("%02X", classId[pos[i]]&0xff)); | |
} | |
} | |
//Get the GUID from conversion | |
String guid = sb.toString(); | |
//Print the GUID | |
System.out.println(guid); |
Konsoloutput
Det här är konsoloutputen från det ovanstående kodexemplet när det körs med provexmelfilen.
DC020317-E6E2-4A62-B9FA-B3EFE16626F4