Ottieni o Imposta l Identificatore di Classe dell Oggetto OLE Incorporato

Possibili Scenari di Utilizzo

Aspose.Cells fornisce la proprietà OleObject.ClassIdentifier che è possibile utilizzare per ottenere o impostare l’identificatore di classe di un oggetto ole incorporato. Gli identificatori di classe degli oggetti Ole sono in realtà GUID, ovvero Globally Unique Identifiers. GUID è sempre lungo 16 byte, quindi gli identificatori di classe sono anche lunghi 16 byte. Sono spesso trovati all’interno del Registro di Windows e forniscono informazioni all’applicazione host su come aprire l’oggetto ole incorporato contenente varie risorse incorporate all’interno dell’applicazione client.

Ottieni o Imposta l’Identificatore di Classe dell’Oggetto OLE Incorporato

La seguente schermata mostra l’identificatore di classe dell’oggetto Ole cioè GUID che è stato letto dal file Excel di esempio contenente l’oggetto ole di PowerPoint incorporato.

todo:image_alt_text

Codice di Esempio

Si prega di vedere il seguente codice di esempio eseguito con il file Excel di esempio e il suo output della console che stampa il Class Identifier dell’oggetto Ole cioè GUID. Il GUID stampato è esattamente lo stesso mostrato all’interno della schermata.

// 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);

Output della console

Questo è l’output della console del codice di esempio sopra eseguito con il file Excel di esempio.

 DC020317-E6E2-4A62-B9FA-B3EFE16626F4