¿Cómo llenar el color de fondo de las celdas en Excel usando Java y Apache POI?

Apache POI es una biblioteca Java de código abierto para crear y manipular varios formatos de archivo basados ​​en Microsoft Office. Usando POI, uno debería poder realizar operaciones de creación, modificación y visualización/lectura en los siguientes formatos de archivo. Por ejemplo, Java no proporciona soporte integrado para trabajar con archivos de Excel, por lo que debemos buscar API de código abierto para el trabajo. En este artículo, vamos a discutir cómo rellenar los colores de fondo y los colores de primer plano de las celdas en Excel usando el POI de Apache. Primero, crearemos un archivo de Excel e ingresaremos los valores de las celdas y agregaremos los colores para cada celda. Apache POI proporciona el método createcellstyle en XSSFCellStyle.

XSSFCellStyle style=workbook.createCellStyle();

Requisito previo

Para trabajar con Apache POI, necesitamos el siguiente software en nuestro sistema

  • Comprueba que tu sistema tiene Java JDK 
  • Instale el IDE de Eclipse para desarrolladores de Java desde aquí.
  • Crear un proyecto Maven

Para crear un proyecto Maven, marque esto ¿Cómo crear un proyecto Selenium Maven con Eclipse para abrir el navegador Chrome?

  • Agregue la dependencia Apache POI y Apache-ooxml en el archivo POM.xml

 

Después de instalar todas las dependencias, ahora estamos listos para escribir el código, está diseñado con el método creatcellstyle. El método de estilo proporciona muchos diseños, como setFillBackgroundColor, setFillForegroundColor y setFillPattern.

establecerFillgroundColor:

Este método nos permite establecer el color de fondo de la celda, la dependencia de Apache POI nos proporciona la clase de color indexada que tiene todos los colores.

style.setFillForegroundColor(IndexedColors .”COLOR.” getIndex());

setFillForegroundColor:

Este método también es similar a setBackgroundColor.

estilo.setFillForegroundColor(ColoresIndexados. “COLOR” .getIndex());

establecer patrón de relleno:

Este método proporciona varios tipos de patrones de diseño como puntos grandes, ladrillos, diamantes, puntos finos, etc.

estilo.setFillPattern(FillPatternType.DIAMANTES);

Programa para rellenar colores de fondo y primer plano en Excel usando Apache POI

Java

package GFG_Maven.GFG_MAven;
import org.testng.annotations.Test;
  
import java.io.FileOutputStream;
import java.io.IOException;
  
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.FillPatternType;
import org.apache.poi.ss.usermodel.IndexedColors;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.WorkbookFactory;
import org.apache.poi.xssf.usermodel.XSSFCell;
import org.apache.poi.xssf.usermodel.XSSFCellStyle;
import org.apache.poi.xssf.usermodel.XSSFRow;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
  
public class Geeks {
    
    @Test
    public void geekforgeeks() throws IOException{
          
             XSSFWorkbook workbook=new XSSFWorkbook();
            XSSFSheet sheet=workbook.createSheet("sheet1");
              
            XSSFRow row=sheet.createRow(1);
              
            // Background color
            XSSFCellStyle style=workbook.createCellStyle();
            style.setFillBackgroundColor(IndexedColors.BRIGHT_GREEN.getIndex());
            style.setFillPattern(FillPatternType.DIAMONDS);
              
            XSSFCell cell=row.createCell(1);
            cell.setCellValue("welcome");
            cell.setCellStyle(style);            
              
            // foreground color
            style=workbook.createCellStyle();
            style.setFillForegroundColor(IndexedColors.YELLOW.getIndex());
            style.setFillPattern(FillPatternType.FINE_DOTS);
              
            cell=row.createCell(2);
            cell.setCellValue("Geeks");
            cell.setCellStyle(style);            
              
            FileOutputStream file = new FileOutputStream("C:\\Users\\ADMIN\\Desktop\\style.xlsx");
            workbook.write(file);
            file.close();
            System.out.println("Style Created"); 
                   
    }
}

Código Explicación

  • Cree una hoja y una fila para la hoja creada.
  • Después de eso, cree el estilo para el libro de trabajo.

XSSFCellStyle style=workbook.createCellStyle();

  • Luego, diseñe el fondo y el primer plano con setFillBackgroundColor y setFillPattern, luego proporcione el valor de celda y el estilo de celda.

      cell.setCellValue(“Geeks”);
     celda.setCellStyle(estilo);

  • Después de que los estilos estén listos, cree la secuencia de salida del archivo 
  • Escriba los datos de la celda en el flujo de salida.

Producción

Ahora ejecute el código en el eclipse, podemos obtener el resultado a medida que se crea el estilo y podemos notar que se crea una hoja de Excel en la ubicación especificada con los estilos de celda.

Output

 

Output

 

Publicación traducida automáticamente

Artículo escrito por allwink45 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

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