Java: scrivi dati su fogli di lavoro Excel

2023-12-06 02:56:47

Installa con Maven

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

Link correlati

Excel ha la capacità di archiviare e organizzare rapidamente grandi quantità di dati in fogli di calcolo ordinati. Ma è dispendioso in termini di tempo se inseriamo manualmente i dati nelle celle una dopo l'altra. Automatizzare la creazione di file Excel tramite la programmazione può farci risparmiare molto tempo ed energia. Questo articolo spiega come farlo scrivere dati in fogli di lavoro 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>
    

Scrivi valori di testo o numeri su celle specifiche

È possibile accedere a una determinata cella in un foglio di lavoro tramite il metodo Worksheet.get(int riga, int colonna). Quindi, puoi aggiungere un valore di testo o un valore numerico alla cella utilizzando il metodo IXLSRange.setValue() o IXLSRange.setNumberValue(). Di seguito sono riportati i passaggi dettagliati.

  • Creare un oggetto cartella di lavoro.
  • Ottieni il primo foglio di lavoro utilizzando il metodo Workbook.getWorksheets().get().
  • Ottieni una cella specifica utilizzando il metodo Workhseet.get().
  • Aggiungi un valore di testo o un valore numerico alla cella utilizzando il metodo IXLSRange.setValue() o IXLSRange.setNumberValue().
  • Salva la cartella di lavoro in un file Excel utilizzando il metodo Workbook.saveToFile().
  • Java
import com.spire.xls.*;
    
    public class WriteToCells {
    
        public static void main(String[] args) {
    
            //Create a Workbook object
            Workbook workbook = new Workbook();
    
            //Get the first worksheet
            Worksheet worksheet = workbook.getWorksheets().get(0);
    
            //Write data to specific cells
            worksheet.get(1,1).setValue("Name");
            worksheet.get(1,2).setValue("Age");
            worksheet.get(1,3).setValue("Department");
            worksheet.get(1,4).setValue("Hiredate");
            worksheet.get(2,1).setValue("Hazel");
            worksheet.get(2,2).setNumberValue(29);
            worksheet.get(2,3).setValue("Marketing");
            worksheet.get(2,4).setValue("2019-07-01");
            worksheet.get(3,1).setValue("Tina");
            worksheet.get(3,2).setNumberValue(31);
            worksheet.get(3,3).setValue("Technical Support");
            worksheet.get(3,4).setValue("2015-04-27");
    
            //Auto fit column widths
            worksheet.getAllocatedRange().autoFitColumns();
    
            //Apply a style to the first row
            CellStyle style = workbook.getStyles().addStyle("newStyle");
            style.getFont().isBold(true);
            worksheet.getRange().get(1,1,1,4).setStyle(style);
    
            //Save to an Excel file
            workbook.saveToFile("output/WriteToCells.xlsx", ExcelVersion.Version2016);
        }
    }

Java: Write Data to Excel Worksheets

Scrivere matrici in un foglio di lavoro

Spire.XLS for Java fornisce il metodo Worksheet.insertArrary(), che consente ai programmatori di scrivere un array unidimensionale o bidimensionale nell'intervallo di celle specificato di un foglio di lavoro. I passaggi per scrivere array in un foglio di lavoro sono i seguenti:

  • Creare un oggetto cartella di lavoro.
  • Ottieni il primo foglio di lavoro utilizzando il metodo Workbook.getWorksheets().get().
  • Creare una matrice unidimensionale e una matrice bidimensionale.
  • Inserisci gli array nel foglio di lavoro utilizzando il metodo Worksheet.insertArray().
  • Salva la cartella di lavoro in un file Excel utilizzando il metodo Workbook.saveToFile().
  • Java
import com.spire.xls.*;
    
    public class WriteArrayToWorksheet {
    
        public static void main(String[] args) {
    
            //Create a Workbook instance
            Workbook workbook = new Workbook();
    
            //Get the first worksheet
            Worksheet worksheet = workbook.getWorksheets().get(0);
    
            //Create a one-dimensional array
            String[] oneDimensionalArray = new String[]{"January", "February", "March", "April","May", "June"};
    
            //Write the array to the first row of the worksheet
            worksheet.insertArray(oneDimensionalArray, 1, 1, false);
    
            //Create a two-dimensional array
            String[][] twoDimensionalArray = new String[][]{
                    {"Name", "Age", "Sex", "Dept.", "Tel."},
                    {"John", "25", "Male", "Development","654214"},
                    {"Albert", "24", "Male", "Support","624847"},
                    {"Amy", "26", "Female", "Sales","624758"}
            };
    
            //Write the array to the worksheet starting from the cell A3
            worksheet.insertArray(twoDimensionalArray, 3, 1);
    
            //Auto fit column width in the located range
            worksheet.getAllocatedRange().autoFitColumns();
    
            //Apply a style to the first and the third row
            CellStyle style = workbook.getStyles().addStyle("newStyle");
            style.getFont().isBold(true);
            worksheet.getRange().get(1,1,1,6).setStyle(style);
            worksheet.getRange().get(3,1,3,6).setStyle(style);
    
            //Save to an Excel file
            workbook.saveToFile("output/WriteArrays.xlsx", ExcelVersion.Version2016);
        }
    }

Java: Write Data to Excel Worksheets

Scrivere una DataTable in un foglio di lavoro

Per importare dati da un DataTable a un foglio di lavoro, utilizzare il metodo Worksheet.insertDataTable(). Di seguito sono riportati i passaggi dettagliati.

  • Creare un oggetto cartella di lavoro.
  • Ottieni il primo foglio di lavoro utilizzando il metodo Workbook.getWorksheets().get().
  • Crea un DataTable e scrivi il DataTable nel foglio di lavoro nella posizione specificata utilizzando il metodo Worksheet.insertDataTable().
  • Salva la cartella di lavoro in un file Excel utilizzando il metodo Workbook.saveToFile().
  • Java
import com.spire.data.table.DataRow;
    import com.spire.data.table.DataTable;
    import com.spire.xls.*;
    
    public class WriteDataTableToWorksheet {
    
        public static void main(String[] args) throws Exception {
    
            //Create a Workbook instance
            Workbook workbook = new Workbook();
    
            //Get the first worksheet
            Worksheet worksheet = workbook.getWorksheets().get(0);
    
            //Create a DataTable object
            DataTable dataTable = new DataTable();
            dataTable.getColumns().add("SKU", Integer.class);
            dataTable.getColumns().add("NAME", String.class);
            dataTable.getColumns().add("PRICE", String.class);
    
            //Create rows and add data
            DataRow dr = dataTable.newRow();
            dr.setInt(0, 512900512);
            dr.setString(1,"Wireless Mouse M200");
            dr.setString(2,"$85");
            dataTable.getRows().add(dr);
            dr = dataTable.newRow();
            dr.setInt(0,512900637);
            dr.setString(1,"B100 Cored Mouse ");
            dr.setString(2,"$99");
            dataTable.getRows().add(dr);
            dr = dataTable.newRow();
            dr.setInt(0,512901829);
            dr.setString(1,"Gaming Mouse");
            dr.setString(2,"$125");
            dataTable.getRows().add(dr);
            dr = dataTable.newRow();
            dr.setInt(0,512900386);
            dr.setString(1,"ZM Optical Mouse");
            dr.setString(2,"$89");
            dataTable.getRows().add(dr);
    
            //Write datatable to the worksheet
            worksheet.insertDataTable(dataTable,true,1,1,true);
    
            //Auto fit column width in the located range
            worksheet.getAllocatedRange().autoFitColumns();
    
            //Apply a style to the first row
            CellStyle style = workbook.getStyles().addStyle("newStyle");
            style.getFont().isBold(true);
            worksheet.getRange().get(1,1,1,3).setStyle(style);
    
            //Save to an Excel file
            workbook.saveToFile("output/WriteDataTable.xlsx", ExcelVersion.Version2016);
        }
    }

Java: Write Data to Excel Worksheets

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