Obtener o establecer el identificador de clase del objeto OLE incrustado

Escenarios de uso posibles

Aspose.Cells proporciona la propiedad OleObject.ClassIdentifier que puede utilizar para obtener o establecer el identificador de clase de un objeto ole incrustado. Los identificadores de clase de objetos Ole son GUID, es decir, Identificadores Únicos Globales. GUID siempre tiene 16 bytes de longitud, por lo tanto, los identificadores de clase también tienen 16 bytes de longitud. A menudo se encuentran dentro del Registro de Windows y proporcionan información a la aplicación host sobre cómo abrir el 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 del objeto Ole, es decir, el GUID que se ha leído del archivo de Excel de muestra que contiene el objeto ole de PowerPoint incrustado.

todo:image_alt_text

Código de muestra

Consulte el siguiente código de muestra ejecutado con archivo de Excel de ejemplo y su salida en consola que imprime el Identificador de clase del Objeto Ole, es decir, el GUID. El GUID impreso es exactamente el mismo que se muestra dentro de 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 la consola

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

 DC020317-E6E2-4A62-B9FA-B3EFE16626F4