Ottenere o impostare l'identificatore di classe dell'oggetto OLE incorporato
Possibili scenari di utilizzo
Aspose.Cells fornisce ilOleObject.ClassIdentifierproprietà che è possibile utilizzare per ottenere o impostare l’identificatore di classe di un oggetto ole incorporato. Gli identificatori di classi di oggetti obsoleti sono in realtà GUID, ovvero identificatori univoci globali. Il GUID è sempre lungo 16 byte, pertanto anche gli identificatori di classe sono lunghi 16 byte. Si trovano spesso all’interno del registro Windows e forniscono informazioni all’applicazione host su come aprire un oggetto ole incorporato contenente varie risorse incorporate all’interno dell’applicazione client.
Ottenere o impostare l’identificatore di classe dell’oggetto OLE incorporato
Lo screenshot seguente mostra l’Ole Object Class Identifier, ovvero il GUID che è stato letto dal filefile excel di esempio contenente l’oggetto ole PowerPoint incorporato.
Codice d’esempio
Si prega di vedere il seguente codice di esempio eseguito confile excel di esempio e il suo output della console che stampa il fileIdentificatore di classedi Ole Object cioè GUID. Il GUID stampato è esattamente lo stesso mostrato all’interno dello screenshot.
// 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); |
Uscita console
Questo è l’output della console del codice di esempio precedente quando eseguito con il filefile excel di esempio.
DC020317-E6E2-4A62-B9FA-B3EFE16626F4