Saltar al contenido

Apache POI autoSizeColumn cambia de tamaño incorrectamente

Nuestro equipo de trabajo ha estado mucho tiempo buscando para darle espuestas a tus búsquedas, te ofrecemos la resolución por eso nuestro deseo es resultarte de gran ayuda.

Solución:

Solo para dar una respuesta a mi comentario. Las filas no podían dimensionarse correctamente porque Java desconocía la fuente que estaba tratando de usar. Este enlace debería ayudarlo si desea instalar nuevas fuentes en Java para poder usar algo más elegante. También tiene la lista de fuentes predeterminadas que conoce Java.

¡Me alegro de que te haya ayudado y hayas resuelto tu problema!

Esto probablemente esté relacionado con este error de punto de interés que está relacionado con el error de Java JDK-8013716: Renderer for Calibri and Cambria Fonts falla desde la actualización 45.

En este caso, cambiar la fuente o usar JRE por encima de 6u45 / 7u21 debería solucionar el problema.

También puede mitigar el problema y evitar que las columnas se colapsen por completo usando un código como este:

    sheet.autoSizeColumn(x);

    if (sheet.getColumnWidth(x) == 0) 
      // autosize failed use MIN_WIDTH
      sheet.setColumnWidth(x, MIN_WIDTH);
    

También me encontré con este problema y esta fue mi solución.

Pasos:

  1. Crear libro de trabajo
  2. Crear hoja de cálculo
  3. Crear fila
  4. Crear/Establecer fuente en “Arial”
  5. Crear/Establecer estilo con fuente
  6. Crear/Establecer celda con valor y estilo
  7. autoSizeColumn
  8. Crea un archivo

Código:

// initialize objects
XSSFWorkbook workbook = new XSSFWorkbook(); 
XSSFSheet spreadsheet = workbook.createSheet(sheetName);
XSSFRow row = spreadsheet.createRow(0);
XSSFCell cell;

// font/style
XSSFFont font = workbook.createFont();
font.setFontName("Arial");
XSSFCellStyle style = workbook.createCellStyle();
style.setFont(font);

// create/set cell & style
cell = row.createCell(0);
cell.setCellValue("New Cell");
cell.setCellStyle(style);

// auto size
spreadsheet.autoSizeColumn(0);

// create file
File aFile = new File("Your Filename");
FileOutputStream out = new FileOutputStream(aFile);
workbook.write(out);

Recursos:

http://www.tutorialspoint.com/apache_poi/index.htm

Recuerda algo, que tienes concesión de interpretar si te fue de ayuda.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *