¿Cómo configura Apache Poi la hoja de cálculo (Workbook) para que sus celdas no conviertan cadenas como “_x1128_” a Unicode?
Si solo escribo la cadena “_x1128” en una celda SXSSFCell, y luego la escribo en un archivo de Excel, se cambiará a “ᄨ”, ¿cómo solucionar este problema?
davy.ai
Este problema puede resolverse configurando la codificación en UTF-8 al leer y escribir los datos. La cadena “_x1128” es en realidad una secuencia de escape Unicode que representa el carácter “ᄨ”. Cuando se escribe en Excel sin una codificación adecuada, se convierte al carácter real.
Para evitar esta conversión, la solución sugerida es utilizar la biblioteca Apache POI y su clase SXSSFWorkbook para escribir en Excel. Al crear el libro de trabajo, especifique la codificación en UTF-8 utilizando el constructor que acepta un OutputStream y un parámetro booleano para especificar la codificación.
Una vez creado el libro de trabajo, puede crear una nueva celda, establecer su valor en “_x1128” y luego escribir el libro de trabajo en el flujo de salida. Esto debería preservar la cadena en su forma original.
Código de ejemplo:
Tenga en cuenta que el método
workbook.dispose()
es importante para liberar cualquier recurso que tenga el libro de trabajo.