Apache Poi ¿Cómo detectar un color de la plantilla? -- java campo con excel campo con apache-poi camp Relacionados El problema

Apache Poi how to detect a template color?


1
vote

problema

Español

Necesito copiar todo desde un XSSFWorkbook a un SXSSFWorkbook , porque no puedo escribir el XSSFWorkbook en el disco debido a una < Código> OutOfMemoryException .

Para esto, he estado buscando en la web todo el día por la forma más eficiente de copiar hojas entre libros de trabajo sin perder ningún formato, estilo, etc. Utilicé Este hilo del foro para crear mi propio trabajo de clase UTIL con las versiones de Excel mencionadas anteriormente.

hasta ahora copia todo lo necesario, con solo un poco de Hiccup. En una hoja en el archivo original, el fondo de la celda se define dentro del Theme Colors . Esto hace que el nuevo archivo muestre un color diferente de lo que debería.

Color original: ingrese la descripción de la imagen aquí

Nuevo color:

ingrese la descripción de la imagen aquí

Además, en caso de que no sepas lo que quiero decir con Theme Colors (acabo de darme cuenta de que ambos colores están en el mismo lugar):

ingrese la descripción de la imagen aquí  Enter Descripción de la imagen aquí

Este es el código que utilizo para copiar el CellStyles6 :

  int styleHashCode = oldCell.getCellStyle().hashCode(); CellStyle newCellStyle = styleMap.get(styleHashCode); if (newCellStyle == null) {     newCellStyle = newCell.getSheet().getWorkbook().createCellStyle();     newCellStyle.cloneStyleFrom(oldCell.getCellStyle());     styleMap.put(styleHashCode, newCellStyle); } newCell.setCellStyle(newCellStyle);   

A partir de ahora, esto causa dicho HICCUP. Como acabo de descubrir qué causa este problema, no tuve mucho tiempo para probar todos mis propios pensamientos sobre cómo resolver esto, pero estaría agradecido por cada sugerencia / solución que exista para este problema.

para resumirlo:

¿Cómo puedo copiar el color para Theme Colors se usa en el CellStyles ?


Tenga en cuenta que puedo replicar fácilmente el color con los valores de RGB, el problema radica con la identificación de SXSSFWorkbook0 .

Editar: Acabo de encontrar que la llamada a SXSSFWorkbook1111 parece causar mi problema. Sin embargo, no he encontrado ninguna manera de no prestar el tema para el libro de trabajo.

Original en ingles

I need to copy everything from a XSSFWorkbook to a SXSSFWorkbook, because I can't write the XSSFWorkbook to disk due to an OutOfMemoryException.

For this I've been searching the web all day for the most efficient way to copy sheets between workbooks without loosing any formatting, styling, etc. I used this forum thread to create my own util class work with the excel versions mentioned above.

So far it copies everything necessary, with just a little hiccup. On one sheet in the original file, the cell background is defined within the Theme Colors. This causes the new file to actually display a different color than it should.

Original color: enter image description here

New color:

enter image description here

Also, in case you don't know what I mean with Theme Colors (I just realized that both colors are at the same spot):

enter image description hereenter image description here

This is the code I use to copy the CellStyles:

int styleHashCode = oldCell.getCellStyle().hashCode(); CellStyle newCellStyle = styleMap.get(styleHashCode); if (newCellStyle == null) {     newCellStyle = newCell.getSheet().getWorkbook().createCellStyle();     newCellStyle.cloneStyleFrom(oldCell.getCellStyle());     styleMap.put(styleHashCode, newCellStyle); } newCell.setCellStyle(newCellStyle); 

As of now, this causes said hiccup. As I just found out what causes this issue, I had not much time to test all my own thoughts on how to work this out, but I would be grateful for every hint/solution that exists for this issue.

So to sum it up:

How can I copy the color for Theme Colors used in the CellStyles?


Please note that I can easily replicate the color with RGB values, the issue lies with the identifying of Template Colors.

EDIT: I just found that the call to ThemesTable.inheritFromThemeAsRequired(XSSFColor color) seems to cause my issue. Yet I haven't found any way to unset the theme for the workbook.

        
         
         

Lista de respuestas


Relacionados problema

0  Apache-Poi / Java / dejando las filas al escribir en un archivo de Excel  ( Apache poi java leaving out rows when writing to an excel file ) 
Así que estoy tratando de agregar algunos números juntos, escribí en un archivo de Excel. Al final del archivo, quiero escribir el resultado, pero mi problema...

0  Apache POI - Muestra un número de datos que comienzan con 0  ( Apache poi show a numberic data starting with 0 ) 
Estoy creando un Excel usando Apache Poi Class. Tengo una columna con datos como 07898. Cuando abrí el Excel, los datos se muestran correctamente con 07898 ...

1  ¿Cómo ahorrar tabla de Excel como imagen / pdf?  ( How to save chart from excel as image pdf ) 
Quiero extracto / lee un gráfico (gráfico de barras / gráfico circular, etc.) de mi archivo .xlsx5 Apache POI and Java6 y Guárdalo como una imagen o com...

1  ¿Cómo puedo (¿debería?) Usar Apache Poi HWPFDocument?  ( How do i should i use apache poi hwpfdocument ) 
Estoy pensando en incluir a Apache Poi en mi solicitud. El objetivo principal es generar documentos RTF, pero DOC sería agradable, también. Pero la documentac...

4  Creación de una tabla de contenido para un XWPFDocument con indicación de números de página  ( Creating a table of contents for a xwpfdocument with page numbers indication ) 
En realidad, estoy generando un documento de Word con Apache POI, y necesito crear automáticamente una tabla de contenidos (TOC) que hace referencia a los pár...

1  Lectura de texto junto con el formato de la celda de Excel usando Apache POI  ( Reading text along with formatting from excel cell using apache poi ) 
Estoy tratando de leer el valor celular de MS-Excel Hoja que contiene RichText. Ejemplo a continuación. Bienvenido a apache-poi world . Por favor...

0  Actualización de valores de propiedades personalizadas en Word Doc usando Java  ( Updating values of custom properties in word doc using java ) 
No puedo actualizar el valor de una propiedad personalizada en un documento de Word usando Java. Tengo un documento de Word que contiene una propiedad perso...

0  Apache Poi Apertura de la falla del archivo DOCX  ( Apache poi opening docx file failure ) 
Intenté obtener contenido de texto DOC / DOCX. Parece que Apache Poi hace eso. Incluí las dependencias en Pom.xml. Probé muchas muestras de código como esta: ...

7  Dónde obtener Puerto POI de Apache para .NET  ( Where to get apache poi port for net ) 
Me gustaría saber si hay un sitio web donde podría descargar el PUI POR PORTADO DE APACE PARA .NET? Ya encontré este enlace en la web http://www.apache.org...

13  Filtro Auto POI  ( Poi auto filter ) 
¿Cómo uso Apache POI para predefinir una región de filtro automático en un documento de Excel 2007? Un pequeño ejemplo de código o enlace sería bueno. ...




© 2022 respuesta.top Reservados todos los derechos. Centro de preguntas y respuestas reservados todos los derechos