Java : écrire des données dans des feuilles de calcul Excel

2023-12-06 02:56:06

Installer avec Maven

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

Excel a la capacité de stocker et d’organiser rapidement de grandes quantités de données dans des feuilles de calcul ordonnées. Mais cela prend du temps si nous saisissons manuellement les données dans les cellules les unes après les autres. Automatiser la création de fichiers Excel par programmation peut nous faire gagner beaucoup de temps et d’énergie. Cet article explique comment écrivez des données dans des feuilles de calcul Excel en Java à l'aide de Spire.XLS for Java.

Installer Spire.XLS for Java

Tout d'abord, vous devez ajouter le fichier Spire.Xls.jar en tant que dépendance dans votre programme Java. Le fichier JAR peut être téléchargé à partir de ce lien. Si vous utilisez Maven, vous pouvez facilement importer le fichier JAR dans votre application en ajoutant le code suivant au fichier pom.xml de votre projet.

<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>
    

Écrire des valeurs de texte ou de nombres dans des cellules spécifiques

Une certaine cellule d'une feuille de calcul est accessible par la méthode Worksheet.get (int row, int column). Ensuite, vous pouvez ajouter une valeur texte ou une valeur numérique à la cellule à l'aide de la méthode IXLSRange.setValue() ou IXLSRange.setNumberValue(). Voici les étapes détaillées.

  • Créez un objet Workbook.
  • Obtenez la première feuille de calcul à l’aide de la méthode Workbook.getWorksheets().get().
  • Obtenez une cellule spécifique en utilisant la méthode Workhseet.get().
  • Ajoutez une valeur texte ou une valeur numérique à la cellule à l'aide de la méthode IXLSRange.setValue() ou IXLSRange.setNumberValue().
  • Enregistrez le classeur dans un fichier Excel à l'aide de la méthode 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

Écrire des tableaux sur une feuille de calcul

Spire.XLS for Java fournit la méthode Worksheet.insertArrary(), permettant aux programmeurs d'écrire un tableau unidimensionnel ou un tableau bidimensionnel dans la plage de cellules spécifiée d'une feuille de calcul. Les étapes pour écrire des tableaux dans une feuille de calcul sont les suivantes :

  • Créez un objet Workbook.
  • Obtenez la première feuille de calcul à l’aide de la méthode Workbook.getWorksheets().get().
  • Créez un tableau unidimensionnel et un tableau bidimensionnel.
  • Insérez les tableaux dans la feuille de calcul à l'aide de la méthode Worksheet.insertArray().
  • Enregistrez le classeur dans un fichier Excel à l'aide de la méthode 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

Écrire un DataTable dans une feuille de calcul

Pour importer des données d'un DataTable vers une feuille de calcul, utilisez la méthode Worksheet.insertDataTable(). Voici les étapes détaillées.

  • Créez un objet Workbook.
  • Obtenez la première feuille de calcul à l’aide de la méthode Workbook.getWorksheets().get().
  • Créez un DataTable et écrivez le DataTable dans la feuille de calcul à l'emplacement spécifié à l'aide de la méthode Worksheet.insertDataTable().
  • Enregistrez le classeur dans un fichier Excel à l'aide de la méthode 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

Demander une licence temporaire

Si vous souhaitez supprimer le message d'évaluation des documents générés ou vous débarrasser des limitations fonctionnelles, veuillez demander une licence d'essai de 30 jours pour toi.

Voir également