El formateo en Excel es un buen truco en Excel que se usa para cambiar la apariencia de los datos representados en la hoja de trabajo, el formateo se puede hacer de varias maneras, como podemos formatear los datos de las celdas usando los estilos. De forma predeterminada, todas las celdas de la hoja de cálculo tienen el formato de número general. Con el formato General, cualquier cosa que escriba en la celda generalmente se deja como está.
Ejemplo: si escribe 11111.25 en una celda y luego establece un formato como «0.0», significa que después del decimal es solo un dígito, el contenido de la celda se muestra como 11111.3. Este tipo de formato se utiliza para obtener datos precisos de acuerdo con los requisitos. Discutamos el enfoque de cómo podemos hacer esto usando Java.
Acercarse:
- Importe todos los archivos .jar necesarios como XSSF, XML.
- Crear una instancia del libro de trabajo
- Cree una hoja de cálculo en el libro de trabajo anterior.
- Crear filas usando XSSFRow
- Cree una celda usando XSSFCell.
- Configuración de valores de celda.
- Crea un estilo usando XSSFCellStyle en el que vamos a aplicar diferentes estilos.
- Establecer formato de datos.
- Escribir el contenido en el libro de trabajo definiendo el objeto de tipo FileOutputStream
- Cierra la conexión del archivo.
Procedimiento:
- Cree un proyecto Maven en eclipse y agregue Apache POI (utilizado para establecer el tipo de valor de las celdas) y también importe todos los archivos .jar necesarios como HSSF, XML.
- Asigne el nombre al libro de trabajo.
- Cree un libro de trabajo usando «nuevo XSSFWorkbook()» en el que tenemos que crear la hoja de cálculo.
- Cree una hoja de cálculo en el libro de trabajo usando «workbook.createSheet(‘Sheet1’)» y también asigne el nombre a la hoja como «Sheet1»
- Cree una fila usando XSSFRow. Las filas están basadas en 0.
- Cree una celda usando XSSFCell.
- Crea un estilo usando XSSFCellStyle en el que vamos a aplicar diferentes estilos.
- Cree un formato usando DataFormat «workbook.createDataFormat()» para aplicar un formato personalizado en la celda.
- Establezca un valor para una celda usando cell.setCellValue();
- Aplicar formato a una celda en particular. Repita este paso según el requisito para crear una celda formateada usando style.setDataFormat(format.getFormat(“”)); el tipo de formato debe ser tipo string.
- Coloque el archivo de salida en la ubicación predeterminada y también manténgalo en el bloque try-catch usando FileOutputStream().
- Escríbalo en el libro de trabajo creado en el paso inicial usando workbook.write();
- Cierre el archivo de salida.
- Muestra un mensaje para la ventana de la consola cuando el programa se ejecuta correctamente.
- Muestra un mensaje de error para la ventana de la consola cuando el programa no tiene éxito, esta declaración se mantiene en el bloque catch.
Ejemplo:
Java
// Java Program to Apply Different Data Formats to // a Cell in a Spreadsheet // Importing required classes import java.io.FileNotFoundException; import java.io.FileOutputStream; import org.apache.poi.ss.usermodel.DataFormat; 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; // Main class class GFG { // Main driver method public static void main(String[] args) throws Exception { // Naming of WorkBook String excelfilename = "GeeksForGeeks.xlsx"; // Creating a WorkBook XSSFWorkbook workbook = new XSSFWorkbook(); // Create a Spread Sheet by creating an object of // XSSFSheet and also give name XSSFSheet spreadsheet = workbook.createSheet("Sheet1"); // Create a row and put some cells in it. Rows are 0 // based. XSSFRow row; // Creating a cell XSSFCell cell; // style XSSFCellStyle style; // Creating format to format style DataFormat format = workbook.createDataFormat(); int rowNum = 0; int colNum = 0; // Creating a row in Spread Sheet row = spreadsheet.createRow(rowNum++); // Creating a cell in row cell = row.createCell(colNum); // Setting a value cell.setCellValue(11111.25); style = workbook.createCellStyle(); // Setting a Format to a cell using style style.setDataFormat(format.getFormat("0.0")); cell.setCellStyle(style); row = spreadsheet.createRow(rowNum++); cell = row.createCell(colNum); cell.setCellValue(11111.25); style = workbook.createCellStyle(); // Creating another format using style style.setDataFormat(format.getFormat("#,##0.0000")); cell.setCellStyle(style); // Try block to check for exceptions try { // Place the output file in default location and // also kept in try catch block FileOutputStream outputfile = new FileOutputStream(excelfilename); // Writing to workbook workbook.write(outputfile); // Closing the output file // using close() method outputfile.close(); // Display message for console window when // program is successfully executed System.out.println(excelfilename + " is written successfully"); } // Catch block to handle exceptions catch (FileNotFoundException e) { // Display error message for console window when // program is not successfully executed System.out.println("ERROR!! " + e.getMessage()); } } }
Salida: en la ventana de la consola
A. Cuando el programa se ejecuta con éxito.
GeeksForGeeks.xlsx is written successfully.
B. Cuando el programa no se ejecuta con éxito.
ERROR!! GeeksForGeeks.xlsx (The process cannot access the file because it is being used by another process)
Salida: Libro de trabajo (archivo de Excel)
Publicación traducida automáticamente
Artículo escrito por nandinigujral y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA