es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

La API de Google Drive hace que el archivo de Excel falle.

Estoy intentando escribir una aplicación Java simple que utiliza la API de Google Drive para subir archivos de Excel. He creado un archivo con extensión .xlsx y he creado una hoja de prueba vacía. Luego uso la API de Google Drive para subir este archivo a mi unidad. El problema es que al abrir este archivo directamente en Drive, veo algunos caracteres extraños (como si se hubiera bloqueado).
Código y foto del archivo:

File fileMetadata = new File();
fileMetadata.setName("Mi");
fileMetadata.setMimeType("application/vnd.google-apps.spreadsheet");

java.io.File filePath = new java.io.File("src/main/sheets/wb5.xlsx");
FileContent mediaContent = new FileContent("text/csv", filePath);
File file = driveService.files().create(fileMetadata, mediaContent)
.setFields("id")
.execute();
System.out.println("ID del archivo: " + file.getId());

Descripción de la imagen

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Parece que el problema puede estar relacionado con el tipo MIME establecido para la carga del archivo. Actualmente, el código establece el tipo MIME como “text/csv”, pero el archivo que se está cargando es un archivo de Excel con extensión “.xlsx”.

    Intenta cambiar el tipo MIME a “application/vnd.openxmlformats-officedocument.spreadsheetml.sheet”, que es el tipo MIME para archivos de Excel:

    File fileMetadata = new File();
    fileMetadata.setName("Mi archivo");
    fileMetadata.setMimeType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
    
    java.io.File filePath = new java.io.File("src/main/sheets/wb5.xlsx");
    FileContent mediaContent = new FileContent("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", filePath);
    File file = driveService.files().create(fileMetadata, mediaContent)
        .setFields("id")
        .execute();
    System.out.println("ID del archivo: " + file.getId());
    

    Después de realizar este cambio, intenta volver a cargar el archivo y verifica si se soluciona el problema con los caracteres extraños que aparecen al abrir el archivo en Google Drive.

Comments are closed.