Sommario
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.
- Crea un documento Excel in Java
- Leggere i dati di un foglio di lavoro in Java
- Aggiorna un documento Excel in 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); } }
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(); } } }
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); } }
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.