En el artículo anterior, hemos visto cómo leer datos de la celda de fórmula , aquí vamos a crear la celda de fórmula usando Apache POI.
En este artículo, estamos creando un archivo de Excel con tres columnas que consisten en valores y la última columna es la celda de fórmula que se calcula a partir de las otras celdas definiendo una fórmula determinada, aquí estamos creando la celda de fórmula agregando todos los demás datos en las celdas.
Requisitos previos:
Para trabajar con estos, necesitábamos el siguiente software en sus sistemas.
- Asegúrese de que su sistema tenga Java, si no, descargue la última versión del SDK de Java aquí .
- Cree el proyecto Maven.
Para crear el proyecto maven, consulte este artículo sobre cómo crear un proyecto maven de selenium con eclipse .
- Agregue la dependencia de Apache POI en el archivo POM.xml
Programa para crear celdas de Fórmula en Excel usando Apache POI:
Java
package GFG_Maven.GFG_MAven; import org.testng.annotations.Test; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import org.apache.poi.xssf.usermodel.XSSFCell; 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("Numbers"); XSSFRow row=sheet.createRow(0); row.createCell(0).setCellValue(10); row.createCell(1).setCellValue(10); row.createCell(2).setCellValue(10); row.createCell(3).setCellFormula("A1+B1+C1"); FileOutputStream file = new FileOutputStream("C:\\Users\\ADMIN\\Desktop\\calc.xlsx"); workbook.write(file); file.close(); System.out.println("calc.xlsx file is created with Formula cell"); } }
Explicación del código:
Después de crear el libro de trabajo, hemos creado la hoja en el libro de trabajo como «Números».
Hoja XSSFSheet=libro.createSheet(“Números”)
Luego hemos creado la primera fila en esa hoja con el método createRow().
XSSFRow fila=hoja.createRow(0);
Después de eso, hemos creado las celdas en la primera fila por fila.createCell(número de celda).setCellValue(valor);
fila.createCell(0).setCellValue(10);
Ahora, en la cuarta celda, estamos usando la fórmula para calcular el valor de la celda usando setCellFormula(formula).
fila.createCell(3).setCellFormula(“A1+B1+C1”);
Al final, vamos a escribir los valores en la hoja de Excel creando un flujo de salida de archivo en la ubicación definida
FileOutputStream file = new FileOutputStream(“especifique la ubicación para crear el archivo”);
Escribir los valores de las celdas en el archivo mediante workbook.write(file),
Producción:
Después de ejecutar el código, obtenemos el resultado y se crean los archivos de Excel.
Ahora podemos notar que el archivo de Excel se crea en la ubicación definida. He dado la ubicación del escritorio, por lo que el archivo se crea en mi escritorio
Si abre el archivo de Excel, los valores de celda se crean en la hoja con la celda de fórmula.