Java: crear, leer o actualizar documentos de Excel

2023-12-06 03:11:28 zaki zou

Instalar con Maven

<dependency>
    <groupId>e-iceblue</groupId>
    <artifactId>spire.xls</artifactId>
    <version>14.1.3</version>
    </dependency>
    

enlaces relacionados

La hoja de cálculo de Excel es un formato de archivo popular que permite a los usuarios organizar, analizar y mostrar datos en tablas. La capacidad de interactuar mediante programación con archivos de Excel es valiosa para automatizar e integrar sus funciones en el software. Esto es especialmente beneficioso cuando se trata de conjuntos de datos extensos, cálculos complejos o generación/actualización dinámica de datos. En este artículo, aprenderá cómo cree, lea o actualice un documento de Excel en Java utilizando Spire.XLS for Java.

Instalar Spire.XLS for Java

Primero, debe agregar el archivo Spire.Xls.jar como una dependencia en su programa Java. El archivo JAR se puede descargar desde este enlace. Si usa Maven, puede importar fácilmente el archivo JAR en su aplicación agregando el siguiente código al archivo pom.xml de su proyecto.

<repositories>
    <repository>
        <id>com.e-iceblue</id>
        <name>e-iceblue</name>
        <url>https://repo.e-iceblue.com/nexus/content/groups/public/</url>
    </repository>
</repositories>
<dependencies>
    <dependency>
        <groupId>e-iceblue</groupId>
        <artifactId>spire.xls</artifactId>
        <version>15.10.5</version>
    </dependency>
</dependencies>

Crear un documento de Excel en Java

Spire.XLS for Java ofrece una variedad de clases e interfaces que puede utilizar para crear y editar documentos de Excel. Aquí hay una lista de clases, propiedades y métodos importantes involucrados en este artículo.

Miembro Descripción
clase de libro de trabajo Representa un modelo de libro de Excel.
Método Workbook.getWorksheets().add() Agrega una hoja de trabajo al libro de trabajo.
Método Workbook.saveToFile() Guarda el libro en un documento de Excel.
clase de hoja de trabajo Representa una hoja de trabajo en un libro de trabajo.
Método Worksheet.getRange() Obtiene una celda o rango de celdas específico de la hoja de trabajo.
Método Worksheet.insertArray() Importa datos de una matriz a una hoja de trabajo.
clase rango de celdas Representa una celda o rango de celdas en la hoja de trabajo.
Método CellRange.setValue() Establece el valor de una celda.
Método CellRange.getValue() Obtiene el valor de una celda.

Los siguientes son los pasos para crear un documento de Excel desde cero usando Spire.XLS for Java.

  • Cree un objeto de libro de trabajo.
  • Agregue una hoja de trabajo usando el método Workbook.getWorksheets().add().
  • Escriba datos en una celda específica utilizando el método Worksheet.getRange.setValue().
  • Importe datos de una matriz a la hoja de trabajo utilizando el método Worksheet.insertArray().
  • Guarde el libro de trabajo en un documento de Excel utilizando el método Workbook.saveToFile().
  • Java
import com.spire.xls.*;
    
    public class CreateSpreadsheet {
    
        public static void main(String[] args) {
    
            //Create a Workbook object
            Workbook wb = new Workbook();
    
            //Remove default worksheets
            wb.getWorksheets().clear();
    
            //Add a worksheet and name it "Employee"
            Worksheet sheet = wb.getWorksheets().add("Employee");
    
            //Merge the cells between A1 and G1
            sheet.getRange().get("A1:G1").merge();
    
            //Write data to A1 and apply formatting to it
            sheet.getRange().get("A1").setValue("Basic Information of Employees of Huanyu Automobile Company");
            sheet.getRange().get("A1").setHorizontalAlignment(HorizontalAlignType.Center);
            sheet.getRange().get("A1").setVerticalAlignment(VerticalAlignType.Center);
            sheet.getRange().get("A1").getStyle().getFont().isBold(true);
            sheet.getRange().get("A1").getStyle().getFont().setSize(13);
    
            //Set row height of the first row
            sheet.setRowHeight(1,30);
    
            //Create a two-dimensional array
            String[][] twoDimensionalArray = new String[][]{
                    {"Name", "Gender", "Birth Date", "Educational Background", "Contact Number", "Position", "ID"},
                    {"Allen", "Male", "1990-02-10", "Bachelor", "24756854", "Mechanic", "0021"},
                    {"Patrick", "Male", "1985-06-08", "Master", "59863247", "Mechanic", "0022"},
                    {"Jenna", "Female", "1989-11-25", "Bachelor", "79540352", "Sales", "0023"},
                    {"Tommy", "Male", "1988-04-16", "Master", "52014060", "Mechanic", "0024"},
                    {"Christina", "Female", "1998-01-21", "Bachelor", "35401489", "HR", "0025"}
            };
    
            //Import data from DataTable to worksheet
            sheet.insertArray(twoDimensionalArray,2,1);
    
            //Set row height of a range
            sheet.getRange().get("A2:G7").setRowHeight(15);
    
            //Set column width
            sheet.setColumnWidth(2,15);
            sheet.setColumnWidth(3,21);
            sheet.setColumnWidth(4,15);
    
            //Set border style of a range
            sheet.getRange().get("A2:G7").borderAround(LineStyleType.Medium);
            sheet.getRange().get("A2:G7").borderInside(LineStyleType.Thin);
            sheet.getRange().get("A2:G2").borderAround(LineStyleType.Medium);
            sheet.getRange().get("A2:G7").getBorders().setKnownColor(ExcelColors.Black);
    
            //Save to a .xlsx file
            wb.saveToFile("output/NewSpreadsheet.xlsx", FileFormat.Version2016);
        }
    }

Java: Create, Read, or Update Excel Documents

Leer datos de una hoja de trabajo en Java

El método CellRange.getValue() devuelve el valor numérico o el valor de texto de una celda como una cadena. Para obtener datos de una hoja de trabajo completa o un rango de celdas, recorra las celdas que contiene. Los siguientes son los pasos para obtener datos de una hoja de trabajo usando Spire.XLS for Java.

  • Cree un objeto de libro de trabajo.
  • Cargue un documento de Excel utilizando el método Workbook.loadFromFile().
  • Obtenga una hoja de trabajo específica utilizando el método Workbook.getWorksheets().get(index).
  • Obtenga el rango de celdas que contiene datos utilizando el método Worksheet.getAllocatedRange().
  • Itere a través de las filas y columnas para obtener celdas dentro del rango y devuelva el valor de cada celda usando el método CellRange.getValue().
  • Java
import com.spire.xls.CellRange;
    import com.spire.xls.Workbook;
    import com.spire.xls.Worksheet;
    
    public class ReadData {
    
        public static void main(String[] args) {
    
            //Create a Workbook object
            Workbook wb = new Workbook();
    
            //Load an existing Excel file
            wb.loadFromFile("C:/Users/Administrator/Desktop/NewSpreadsheet.xlsx");
    
            //Get the first worksheet
            Worksheet sheet = wb.getWorksheets().get(0);
    
            //Get the cell range containing data
            CellRange locatedRange = sheet.getAllocatedRange();
    
            //Iterate through the rows
            for (int i = 0; i < locatedRange.getRows().length; i++) {
    
                //Iterate through the columns
                for (int j = 0; j < locatedRange.getColumnCount(); j++) {
    
                    //Get data of a specific cell
                    System.out.print(locatedRange.get(i + 1, j + 1).getValue() + "  ");
                }
                System.out.println();
            }
        }
    }

Java: Create, Read, or Update Excel Documents

Actualizar un documento de Excel en Java

Para cambiar el valor de una determinada celda, simplemente vuelva a asignarle un valor utilizando el método Worksheet.getRange().setValue(). Los siguientes son los pasos detallados.

  • Cree un objeto de libro de trabajo.
  • Cargue un documento de Excel utilizando el método Workbook.LoadFromFile().
  • Obtenga una hoja de trabajo específica a través de la propiedad Workbook.Worksheets[index].
  • Cambie el valor de una celda en particular a través de la propiedad Worksheet.Range.Value.
  • Guarde el libro en un archivo de Excel utilizando el método Workbook.SaveToFile().
  • Java
import com.spire.xls.ExcelVersion;
    import com.spire.xls.Workbook;
    import com.spire.xls.Worksheet;
    
    public class UpdateExcel {
    
        public static void main(String[] args) {
    
            //Create a Workbook object
            Workbook wb = new Workbook();
    
            //Load an existing Excel file
            wb.loadFromFile("C:/Users/Administrator/Desktop/NewSpreadsheet.xlsx");
    
            //Get the first worksheet
            Worksheet sheet = wb.getWorksheets().get(0);
    
            //Change the value of a specific cell
            sheet.getRange().get("A1").setValue("Updated Value");
    
            //Save to file
            wb.saveToFile("output/Updated.xlsx", ExcelVersion.Version2016);
        }
    }

Java: Create, Read, or Update Excel Documents

Solicitar una licencia temporal

Si desea eliminar el mensaje de evaluación de los documentos generados o deshacerse de las limitaciones de la función, por favor solicitar una licencia de prueba de 30 días para ti.

Ver también