cloneStyleFrom muestra un error ArrayIndexOutOfBound al copiar cellStyle usando java poi, ¿cómo solucionar este problema?
Estoy intentando copiar un libro de Excel a otro libro de Excel (algunos valores de celda requieren cálculos).
También necesito copiar los estilos de celda, ya que hay campos de datos y cantidades con estilos.
Estoy utilizando las siguientes líneas de código:
CellStyle cellStyle = wb_out.createCellStyle();
cellStyle.cloneStyleFrom(cell_in.getCellStyle());
Cell cell_out = row_out.createCell(cellIndex);
cell_out.setCellValue(valor);
cell_out.setCellStyle(cellStyle);
Para archivos grandes,
El método “cloneStyleFrom” arroja un error de ArrayIndexOutofBound,
¿Cómo podemos solucionarlo?
Gracias de antemano.
davy.ai
Para solucionar el error ArrayIndexOutofBound al usar cloneStyleFrom para archivos grandes en Java, puedes probar las siguientes soluciones:
java -Xmx2g miPrograma
CellStyle nuevoEstilo = workbook.createCellStyle();
CellStyle viejoEstilo = viejaCelda.getCellStyle();
nuevoEstilo.setAlignment(viejoEstilo.getAlignment());
nuevoEstilo.setBorderBottom(viejoEstilo.getBorderBottom());
nuevoEstilo.setBorderLeft(viejoEstilo.getBorderLeft());
nuevoEstilo.setBorderRight(viejoEstilo.getBorderRight());
nuevoEstilo.setBorderTop(viejoEstilo.getBorderTop());
nuevoEstilo.setDataFormat(viejoEstilo.getDataFormat());
// copiar otras propiedades según sea necesario
Espero que esto te ayude a resolver el error ArrayIndexOutofBound al copiar estilos de Excel en Java.