¿Cómo crear diferentes formatos de datos de celdas en una hoja de cálculo usando Java?

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: 

  1. Importe todos los archivos .jar necesarios como XSSF, XML.
  2. Crear una instancia del libro de trabajo
  3. Cree una hoja de cálculo en el libro de trabajo anterior.
  4. Crear filas usando XSSFRow
  5. Cree una celda usando XSSFCell.
  6. Configuración de valores de celda.
  7. Crea un estilo usando XSSFCellStyle en el que vamos a aplicar diferentes estilos.
  8. Establecer formato de datos.
  9. Escribir el contenido en el libro de trabajo definiendo el objeto de tipo FileOutputStream
  10. Cierra la conexión del archivo.

Procedimiento:

  1. 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.
  2. Asigne el nombre al libro de trabajo.
  3. Cree un libro de trabajo usando «nuevo XSSFWorkbook()» en el que tenemos que crear la hoja de cálculo.
  4. 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»
  5. Cree una fila usando XSSFRow. Las filas están basadas en 0.
  6. Cree una celda usando XSSFCell.
  7. Crea un estilo usando XSSFCellStyle en el que vamos a aplicar diferentes estilos.
  8. Cree un formato usando DataFormat «workbook.createDataFormat()» para aplicar un formato personalizado en la celda.
  9. Establezca un valor para una celda usando cell.setCellValue();
  10. 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.
  11. Coloque el archivo de salida en la ubicación predeterminada y también manténgalo en el bloque try-catch usando FileOutputStream().
  12. Escríbalo en el libro de trabajo creado en el paso inicial usando workbook.write();
  13. Cierre el archivo de salida.
  14. Muestra un mensaje para la ventana de la consola cuando el programa se ejecuta correctamente.
  15. 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

Deja una respuesta

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