Java: crea, leggi o aggiorna documenti Excel

2023-12-06 03:09:12

Installa con Maven

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

Link correlati

Il foglio di calcolo Excel è un formato di file popolare che consente agli utenti di organizzare, analizzare e visualizzare i dati in tabelle. La capacità di interagire a livello di codice con i file Excel è preziosa per automatizzare e integrare le sue funzionalità nel software. Ciò è particolarmente utile quando si ha a che fare con set di dati estesi, calcoli complessi o quando si generano/aggiornano dati in modo dinamico. In questo articolo imparerai come farlo creare, leggere o aggiornare documenti Excel in Java utilizzando Spire.XLS for Java.

Installa Spire.XLS for Java

Innanzitutto, devi aggiungere il file Spire.Xls.jar come dipendenza nel tuo programma Java. Il file JAR può essere scaricato da questo collegamento. Se utilizzi Maven, puoi importare facilmente il file JAR nella tua applicazione aggiungendo il seguente codice al file pom.xml del tuo progetto.

<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>14.11.0</version>
    </dependency>
</dependencies>
    

Crea un documento Excel in Java

Spire.XLS for Java offre una varietà di classi e interfacce che è possibile utilizzare per creare e modificare documenti Excel. Di seguito è riportato un elenco di classi, proprietà e metodi importanti coinvolti in questo articolo.

Membro Descrizione
Classe cartella di lavoro Rappresenta un modello di cartella di lavoro di Excel.
Metodo Workbook.getWorksheets().add() Aggiunge un foglio di lavoro alla cartella di lavoro.
Metodo Workbook.saveToFile() Salva la cartella di lavoro in un documento Excel.
Classe di fogli di lavoro Rappresenta un foglio di lavoro in una cartella di lavoro.
Metodo Worksheet.getRange() Ottiene una cella o un intervallo di celle specifico dal foglio di lavoro.
Metodo Worksheet.insertArray() Importa i dati da una matrice al foglio di lavoro.
Classe CellRange Rappresenta una cella o un intervallo di celle nel foglio di lavoro.
Metodo CellRange.setValue() Imposta il valore di una cella.
Metodo CellRange.getValue() Ottiene il valore di una cella.

Di seguito sono riportati i passaggi per creare un documento Excel da zero utilizzando Spire.XLS for Java.

  • Creare un oggetto cartella di lavoro.
  • Aggiungi un foglio di lavoro utilizzando il metodo Workbook.getWorksheets().add().
  • Scrivi i dati in una cella specifica utilizzando il metodo Worksheet.getRange.setValue().
  • Importa i dati da un array al foglio di lavoro utilizzando il metodo Worksheet.insertArray().
  • Salva la cartella di lavoro in un documento Excel utilizzando il metodo 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

Leggere i dati di un foglio di lavoro in Java

Il metodo CellRange.getValue() restituisce il valore numerico o il valore testo di una cella come stringa. Per ottenere i dati di un intero foglio di lavoro o di un intervallo di celle, scorrere le celle al suo interno. Di seguito sono riportati i passaggi per ottenere i dati di un foglio di lavoro utilizzando Spire.XLS for Java.

  • Creare un oggetto cartella di lavoro.
  • Carica un documento Excel utilizzando il metodo Workbook.loadFromFile().
  • Ottieni un foglio di lavoro specifico utilizzando il metodo Workbook.getWorksheets().get(index).
  • Ottieni l'intervallo di celle contenente i dati utilizzando il metodo Worksheet.getAllocatedRange().
  • Scorrere le righe e le colonne per ottenere le celle all'interno dell'intervallo e restituire il valore di ciascuna cella utilizzando il metodo 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

Aggiorna un documento Excel in Java

Per modificare il valore di una determinata cella, è sufficiente riassegnarle un valore utilizzando il metodo Worksheet.getRange().setValue(). Di seguito sono riportati i passaggi dettagliati.

  • Creare un oggetto cartella di lavoro.
  • Carica un documento Excel utilizzando il metodo Workbook.LoadFromFile().
  • Ottieni un foglio di lavoro specifico tramite la proprietà Workbook.Worksheets[index].
  • Modificare il valore di una cella particolare tramite la proprietà Worksheet.Range.Value.
  • Salva la cartella di lavoro in un file Excel utilizzando il metodo 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

Richiedi una licenza temporanea

Se desideri rimuovere il messaggio di valutazione dai documenti generati o eliminare le limitazioni della funzione, per favore richiedere una licenza di prova di 30 giorni per te.

Guarda anche