Obtener o establecer el identificador de clase del objeto OLE incrustado

Posibles escenarios de uso

Aspose.Cells proporciona elOleObject.ClassIdentifierpropiedad que puede usar para obtener o establecer el identificador de clase de un objeto ole incrustado. Los identificadores de clase de objetos antiguos son en realidad GUID, es decir, identificadores únicos globales. GUID siempre tiene una longitud de 16 bytes, por lo que los identificadores de clase también tienen una longitud de 16 bytes. A menudo se encuentran dentro del Registro Windows y brindan información a la aplicación host sobre cómo abrir un objeto ole incrustado que contiene varios recursos incrustados dentro de la aplicación cliente.

Obtener o establecer el identificador de clase del objeto OLE incrustado

La siguiente captura de pantalla muestra el identificador de clase de objeto Ole, es decir, GUID, que se ha leído desde elejemplo de archivo de Excel que contiene el objeto ole incrustado PowerPoint.

todo:imagen_alternativa_texto

Código de muestra

Consulte el siguiente código de ejemplo ejecutado conejemplo de archivo de Excel y su salida de consola que imprime elIdentificador de clasede Ole Object, es decir, GUID. El GUID impreso es exactamente el mismo que se muestra en la captura de pantalla.

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

Salida de consola

Esta es la salida de la consola del código de muestra anterior cuando se ejecuta con elejemplo de archivo de Excel.

 DC020317-E6E2-4A62-B9FA-B3EFE16626F4