Créer des fichiers Excel sous Linux

De nos jours, les feuilles de calcul sont largement utilisées pour conserver et partager une grande quantité de données tabulaires. En outre, vous pouvez effectuer diverses opérations telles que l’application de formules, la génération de tableaux et de graphiques, le tri et le filtrage de données, etc. L’automatisation des feuilles de calcul a apporté une révolution dans diverses industries. La création et la manipulation dynamiques des feuilles de calcul ont rendu la gestion des données beaucoup plus facile. Afin d’effectuer une manipulation de feuille de calcul par programme, cet article explique comment créer des fichiers Excel XLSX ou XLS à partir de zéro sous Linux à l’aide de Java.

API pour créer des fichiers Excel sur Linux - Téléchargement gratuit

Pour créer et manipuler les fichiers Excel, nous utiliserons Aspose.Cells for Java. Il s’agit d’une puissante API de manipulation de feuilles de calcul pour créer, mettre à jour ou convertir des fichiers Excel. Vous pouvez soit télécharger le JAR de l’API ou l’installer dans vos applications basées sur Maven en utilisant les configurations suivantes.

<repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java API</name>
    <url>https://repository.aspose.com/repo/</url>
</repository>
<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-cells</artifactId>
    <version>21.9</version>
</dependency>

Créer un fichier Excel sous Linux

Les fichiers MS Excel conservent les données dans les feuilles de calcul composées de plusieurs cellules. Alors que ces feuilles de calcul sont contenues dans un classeur. Voici les étapes pour créer un fichier Excel XLSX à partir de zéro sous Linux.

  • Créez une instance de la classe Workbook.
  • Obtenez la référence de la feuille de calcul souhaitée à l’aide de la méthode Workbook.getWorksheets.get().
  • Insérez la valeur dans la cellule souhaitée de la feuille de calcul en utilisant l’identifiant de la cellule, tel que A1, B3, etc.
  • Enregistrez le classeur à l’aide de la méthode Workbook.save().

L’exemple de code suivant montre comment créer un fichier Excel XLSX sous Linux à l’aide de Java.

// Créer un nouveau classeur
Workbook workbook = new Workbook();

// Ajouter de la valeur dans la cellule
workbook.getWorksheets().get(0).getCells().get("A1").putValue("Hello World!");

// Enregistrer en tant que fichier Excel XLSX
workbook.save("Excel.xlsx"); 

Voici la sortie de l’exemple de code ci-dessus.

Créer un fichier Excel sous Linux

Modifier un fichier Excel XLSX sous Linux

Vous pouvez également modifier les fichiers Excel existants de manière transparente. Pour cela, vous pouvez simplement charger le fichier, accéder à la feuille de calcul souhaitée et mettre à jour son contenu. Voici les étapes pour modifier un fichier Excel XLSX.

  • Chargez le fichier Excel à l’aide de la classe Workbook.
  • Obtenez la référence des feuilles de calcul et des cellules à l’aide des classes Worksheet et Cell, respectivement.
  • Mettre à jour le contenu des cellules.
  • Enregistrez le classeur mis à jour à l’aide de la méthode Workbook.save().

L’exemple de code suivant montre comment modifier un fichier Excel sous Linux.

// Créer un nouveau classeur
Workbook workbook = new Workbook("workbook.xls"); 

// Obtenir la référence de la cellule "A1" à partir des cellules d'une feuille de calcul
Cell cell = workbook.getWorksheets().get(0).getCells().get("A1");

// Définissez le "Hello World!" valeur dans la cellule "A1"
cell.setValue("updated cell value.");

// Ecrire le fichier Excel
workbook.save("Excel.xls", FileFormatType.EXCEL_97_TO_2003);

Créer des graphiques dans des fichiers Excel sous Linux

Les graphiques dans les feuilles de calcul sont utilisés pour représenter visuellement les données stockées dans les feuilles de calcul. Aspose.Cells for Java fournit une large gamme de graphiques que vous pouvez générer dans les fichiers Excel. Voici les étapes pour créer un graphique dans un fichier Excel XLSX sur la plate-forme Linux.

  • Créez un nouveau fichier Excel ou chargez-en un existant à l’aide de la classe Workbook.
  • Ajoutez des données à la feuille de calcul (facultatif).
  • Obtenez la collection de graphiques de la feuille de calcul à l’aide de la méthode Worksheet.getCharts().
  • Ajoutez un nouveau graphique à la collection à l’aide de la méthode Worksheet.getCharts().add().
  • Obtenez la référence du Graphique nouvellement créé à partir de la collection.
  • Spécifiez la plage de cellules pour définir NSeries pour le graphique.
  • Enfin, enregistrez le fichier Excel.

L’exemple de code suivant montre comment créer un graphique dans un fichier Excel XLSX.

// Créer un nouveau classeur
Workbook workbook = new Workbook("workbook.xlsx"); 

// Obtention de la référence de la première feuille de travail
WorksheetCollection worksheets = workbook.getWorksheets();
Worksheet sheet = worksheets.get(0);

// Ajouter une valeur d'échantillon aux cellules
Cells cells = sheet.getCells();
Cell cell = cells.get("A1");
cell.setValue(50);
cell = cells.get("A2");
cell.setValue(100);
cell = cells.get("A3");
cell.setValue(150);
cell = cells.get("B1");
cell.setValue(4);
cell = cells.get("B2");
cell.setValue(20);
cell = cells.get("B3");
cell.setValue(50);

// obtenir des graphiques dans la feuille de calcul
ChartCollection charts = sheet.getCharts();

// Ajouter un graphique à la feuille de calcul
int chartIndex = charts.add(ChartType.PYRAMID, 5, 0, 15, 5);
Chart chart = charts.get(chartIndex);

// Ajout de NSeries (source de données de graphique) au graphique allant de "A1"
// cellule à "B3"
SeriesCollection serieses = chart.getNSeries();
serieses.add("A1:B3", true);

// Ecrire le fichier Excel 
workbook.save("Excel_with_Chart.xlsx");

La capture d’écran suivante montre la sortie de l’exemple de code ci-dessus.

créer un graphique dans excel linux

Créer un tableau croisé dynamique dans un fichier Excel sous Linux

Les tableaux croisés dynamiques dans les feuilles de calcul Excel ont divers objectifs, tels que l’ajout de filtres aux données, le calcul des totaux, la synthèse des données, etc. Les tableaux croisés dynamiques peuvent être créés à l’aide de la plage de cellules de la feuille de calcul. Vous pouvez créer un tableau croisé dynamique dans un fichier Excel en suivant les étapes ci-dessous.

  • Créez un nouveau fichier Excel ou chargez-en un existant à l’aide de la classe Workbook.
  • Insérez des données dans la feuille de calcul (facultatif).
  • Accédez à la collection de tableaux croisés dynamiques à l’aide de la méthode Worksheet.getPivotTables().
  • Ajoutez un nouveau tableau croisé dynamique dans la feuille de calcul à l’aide de la méthode Worksheet.getPivotTables().add().
  • Fournir des données au tableau croisé dynamique.
  • Enregistrez le classeur à l’aide de la méthode Workbook.save().

L’exemple de code suivant montre comment créer un tableau croisé dynamique dans Excel.

// Créer un nouveau classeur
Workbook workbook = new Workbook("workbook.xlsx"); 

// Obtenez la première feuille de calcul.
Worksheet sheet = workbook.getWorksheets().get(0);

// Obtention de la collection de cellules de Worksheet
Cells cells = sheet.getCells();

// Définir la valeur des cellules
Cell cell = cells.get("A1");
cell.setValue("Sport");
cell = cells.get("B1");
cell.setValue("Quarter");
cell = cells.get("C1");
cell.setValue("Sales");

cell = cells.get("A2");
cell.setValue("Golf");
cell = cells.get("A3");
cell.setValue("Golf");
cell = cells.get("A4");
cell.setValue("Tennis");
cell = cells.get("A5");
cell.setValue("Tennis");
cell = cells.get("A6");
cell.setValue("Tennis");
cell = cells.get("A7");
cell.setValue("Tennis");
cell = cells.get("A8");
cell.setValue("Golf");

cell = cells.get("B2");
cell.setValue("Qtr3");
cell = cells.get("B3");
cell.setValue("Qtr4");
cell = cells.get("B4");
cell.setValue("Qtr3");
cell = cells.get("B5");
cell.setValue("Qtr4");
cell = cells.get("B6");
cell.setValue("Qtr3");
cell = cells.get("B7");
cell.setValue("Qtr4");
cell = cells.get("B8");
cell.setValue("Qtr3");

cell = cells.get("C2");
cell.setValue(1500);
cell = cells.get("C3");
cell.setValue(2000);
cell = cells.get("C4");
cell.setValue(600);
cell = cells.get("C5");
cell.setValue(1500);
cell = cells.get("C6");
cell.setValue(4070);
cell = cells.get("C7");
cell.setValue(5000);
cell = cells.get("C8");
cell.setValue(6430);


PivotTableCollection pivotTables = sheet.getPivotTables();

// Ajouter un tableau croisé dynamique à la feuille de calcul
int index = pivotTables.add("=A1:C8", "E3", "PivotTable2");

// Accéder à l'instance du tableau croisé dynamique nouvellement ajouté
PivotTable pivotTable = pivotTables.get(index);

// Affichage des totaux généraux pour les lignes.
pivotTable.setRowGrand(false);

// Faites glisser le premier champ vers la zone de ligne.
pivotTable.addFieldToArea(PivotFieldType.ROW, 0);

// Faites glisser le deuxième champ vers la zone de la colonne.
pivotTable.addFieldToArea(PivotFieldType.COLUMN, 1);

// Faites glisser le troisième champ vers la zone de données.
pivotTable.addFieldToArea(PivotFieldType.DATA, 2);

// Ecrire le fichier Excel 
workbook.save("Excel_with_Chart.xlsx");

Voici la capture d’écran du tableau croisé dynamique généré par l’exemple de code ci-dessus.

créer un tableau croisé dynamique dans excel sous linux

Ajouter des formules pour les cellules dans les fichiers Excel

Aspose.Cells for Java prend également en charge l’utilisation de formules dans des feuilles de calcul Excel. Les sections suivantes décrivent comment utiliser les fonctions intégrées et complémentaires.

Appliquer les fonctions intégrées dans Excel

Pour les fonctions intégrées, vous pouvez simplement obtenir la référence de la cellule souhaitée dans la feuille de calcul et ajouter une formule à l’aide de la méthode Cell.setFormula(String). L’exemple de code suivant montre comment définir une formule intégrée dans Excel.

// Créer un nouveau classeur
Workbook workbook = new Workbook();

// Ajouter de la valeur dans la cellule
workbook.getWorksheets().get(0).getCells().get(0).setFormula("=H7*(1+IF(P7 =$L$3,$M$3, (IF(P7=$L$4,$M$4,0))))");

// Enregistrer en tant que fichier Excel XLSX
workbook.save("Excel.xlsx"); 

Ajouter des fonctions complémentaires dans Excel

Aspose.Cells for Java prend également en charge la fonction définie par l’utilisateur pour les feuilles de calcul Excel. Pour cela, vous devrez enregistrer la fonction de complément à l’aide d’un fichier xlam (Excel macro-enabled add-in). Pour enregistrer les fonctions complémentaires, l’API fournit les méthodes registerAddInFunction(int, String) et registerAddInFunction(String, String, boolean). L’exemple de code suivant montre comment enregistrer et utiliser une fonction de complément dans Excel.

// créer un nouveau classeur
Workbook workbook = new Workbook();

// Enregistrer le complément activé par macro avec le nom de la fonction
int id = workbook.getWorksheets().registerAddInFunction("TESTUDF.xlam", "TEST_UDF", false);

// Enregistrez plus de fonctions dans le fichier (le cas échéant)
workbook.getWorksheets().registerAddInFunction(id, "TEST_UDF1"); //in this way you can add more functions that are in the same file

// Accéder à la première feuille de calcul
Worksheet worksheet = workbook.getWorksheets().get(0);

// Accéder à la première cellule
Cell cell = worksheet.getCells().get("A1");

// Définir le nom de la formule présente dans le complément
cell.setFormula("=TEST_UDF()"); 

// Enregistrer en tant que fichier Excel XLSX
workbook.save("Excel.xlsx"); 

Obtenez une licence gratuite

Vous pouvez utiliser Aspose.Cells for Java sans limitation d’évaluation à l’aide d’une licence temporaire.

Conclusion

Dans cet article, vous avez appris à créer des fichiers MS Excel à partir de rien sous Linux. De plus, vous avez vu comment mettre à jour les fichiers Excel, générer des graphiques, créer des tableaux croisés dynamiques et ajouter des formules dans les feuilles de calcul. Vous pouvez en savoir plus sur Aspose.Cells for Java en utilisant documentation. Si vous avez des questions, vous pouvez les poser via notre forum.

Voir également