Exporter des données vers Excel en Java

Vous pouvez facilement exporter des données vers Microsoft Excel à partir de diverses sources disponibles telles que JSON et CSV. En tant que développeur Java, vous pouvez exporter par programmation des données depuis des tableaux, des listes d’objets, JSON et CSV vers des documents Excel. Dans cet article, vous apprendrez comment exporter des données vers Excel à l’aide de Java.

Les sujets suivants sont abordés/couverts dans cet article:

API Java pour exporter des données

Pour exporter des données vers Excel, j’utiliserai Aspose.Cells for Java API. Il s’agit d’une puissante API de manipulation de feuilles de calcul qui vous permet de créer, de modifier ou de convertir des fichiers Excel dans des applications Java. L’API vous permet d’exécuter des fonctionnalités d’automatisation Excel par programmation sans avoir besoin d’une application Microsoft Excel.

Vous pouvez télécharger le JAR de l’API ou simplement ajouter la configuration pom.xml suivante dans votre application Java basée sur Maven pour essayer les exemples de code mentionnés ci-dessous.

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

Exporter un tableau vers Excel en Java

Vous pouvez facilement exporter des données d’un tableau unidimensionnel ou d’un tableau bidimensionnel vers un document Excel. Le tableau peut être de type référence ou de type valeur. Vous pouvez exporter des données d’un tableau vers Excel en suivant les étapes simples mentionnées ci-dessous:

  • Créer une instance de la Workbook class
  • Obtenir la feuille de calcul dans une instance de la classe Worksheet
  • Créer un tableau contenant des valeurs de chaîne
  • Appelez la méthode importArray() avec le tableau
  • Enregistrez le fichier de sortie en appelant la méthode save() de la classe Workbook

L’exemple de code suivant montre comment exporter un tableau de chaînes vers Excel à l’aide de Java.

// Initialiser un objet Workbook
Workbook workbook = new Workbook();

// Obtenir la référence de la feuille de travail
Worksheet worksheet = workbook.getWorksheets().get(0);

// Création d'un tableau contenant des noms sous forme de valeurs de chaîne
String[] names = new String[] { "Laurence Chen", "Roman Korchagin", "Kyle Huang" };

// Exportation verticale du tableau de noms vers la première ligne et la première colonne
worksheet.getCells().importArray(names, 0, 0, true);

// Enregistrement du fichier Excel
workbook.save("C:\\Files\\output.xlsx");
Exporter un tableau vers Excel en Java

Exporter un tableau vers Excel en Java

La classe Workbook de l’API est la classe principale pour créer une feuille de calcul Excel. Il fournit des fonctionnalités pour ouvrir et enregistrer des fichiers Excel natifs. La méthode save() de cette classe est utilisée pour enregistrer le fichier de sortie dans le chemin de fichier spécifié.

La classe Worksheet représente une seule feuille de calcul et fournit des fonctionnalités permettant de travailler avec des cellules et des lignes.

La méthode importArray() de la classe Cells exporte un tableau de chaînes vers une feuille de calcul. Il prend les paramètres d’entrée suivants:

  • stringArray: le tableau des valeurs de chaîne
  • firstRow: le numéro de ligne de la première cellule vers laquelle exporter
  • firstColumn: le numéro de colonne de la première cellule vers laquelle exporter
  • isVertical: Il spécifie s’il faut exporter les données verticalement ou horizontalement

L’API fournit également les versions surchargées de la méthode importArray() pour exporter un tableau d’entiers ou de doubles vers une feuille de calcul.

Exporter un tableau à deux dimensions vers Excel

De même, vous pouvez exporter un tableau à deux dimensions vers un fichier Excel. L’exemple de code suivant montre comment exporter un tableau à deux dimensions vers un fichier Excel en Java.

// Initialiser un objet Workbook
Workbook workbook = new Workbook();

// Obtenir la référence de la feuille de travail
Worksheet worksheet = workbook.getWorksheets().get(0);

// Création d'un tableau d'entiers à deux dimensions
int[][] array2D = { 
  { 1, 2 }, 
  { 3, 4 }, 
  { 5, 6 }, 
  { 7, 8 } 
};

// Exportation verticale du tableau de noms vers la première ligne et la première colonne
worksheet.getCells().importArray(array2D, 0, 0);

// Enregistrement du fichier Excel
workbook.save("C:\\Files\\output.xlsx");
Exporter un tableau à deux dimensions vers Excel

Exporter un tableau à deux dimensions vers Excel

La classe Cells fournit la méthode importArray() pour exporter un tableau à deux dimensions d’entiers vers une feuille de calcul. L’API fournit également les versions surchargées de cette méthode pour exporter un tableau bidimensionnel de chaînes ou double dans une feuille de calcul.

Exporter ArrayList vers Excel en Java

Vous pouvez exporter des données d’une ArrayList vers Excel en suivant les étapes mentionnées ci-dessous:

  • Créer une instance de la Workbook class
  • Obtenir la feuille de calcul dans une instance de la classe Worksheet
  • Créer une liste de tableaux contenant des valeurs de chaîne
  • Appelez la méthode importArrayList() avec la liste de tableaux
  • Enregistrez le fichier de sortie en appelant la méthode save() de la classe Workbook

L’exemple de code suivant montre comment exporter une ArrayList vers Excel en Java.

// Initialiser un objet Workbook
Workbook workbook = new Workbook();

// Obtenir la référence de la feuille de travail
Worksheet worksheet = workbook.getWorksheets().get(0);

// Instanciation d'un objet ArrayList
ArrayList<String> list = new ArrayList<String>();

// Ajouter quelques noms à la liste en tant que valeurs de chaîne
list.add("Laurence Chen");
list.add("Roman Korchagin");
list.add("Kyle Huang");
list.add("Tommy Wang");

// Exporter le contenu de ArrayList verticalement au niveau de la première ligne et de la première colonne de la feuille de calcul. 
worksheet.getCells().importArrayList(list, 0, 0, true);

// Enregistrement du fichier Excel
workbook.save("C:\\Files\\Output.xlsx");
Exporter la liste des tableaux vers Excel en Java

Exporter ArrayList vers Excel en Java

La méthode importArrayList() de la classe Cells exporte une ArrayList de données vers une feuille de calcul. Il prend quatre paramètres dont la ArrayList de données. Les autres paramètres sont firstRow, firstColumn et isVertical.

Exporter une collection d’objets personnalisés vers Excel en Java

Vous pouvez exporter les données d’une collection d’objets personnalisés vers Excel en suivant les étapes mentionnées ci-dessous:

  • Créer une instance de la Workbook class
  • Obtenir la feuille de calcul dans une instance de la classe Worksheet
  • Créer une liste de tableaux d’objets personnalisés
  • Appelez la méthode importCustomObjects() avec la liste de tableau
  • Enregistrez le fichier de sortie en appelant la méthode save() de la classe Workbook

L’exemple de code suivant montre comment exporter une collection d’objets personnalisés vers Excel en Java.

// Initialiser un nouveau classeur
Workbook book = new Workbook();

// Obtenir la référence de la feuille de travail
Worksheet sheet = book.getWorksheets().get(0);

// Définir une ArrayList de personnes
List<Person> list = new ArrayList<Person>();

list.add(new Person("Mike", 25, "Software Engineer"));
list.add(new Person("Steve", 30, "Doctor"));
list.add(new Person("Billy", 35, "Teacher"));

// Nous sélectionnons uniquement les colonnes Nom et Âge, pas toutes, à exporter vers la feuille de calcul         
sheet.getCells().importCustomObjects((Collection)list,
    new String[] { "Name", "Age" }, // propertyNames
    true, // isPropertyNameShown
    0, // firstRow
    0, // firstColumn
    list.size(), // Number of objects to be exported
    true, // insertRows
    null, // dateFormatString
    false); // convertStringToNumber

// Enregistrez le fichier Excel
book.save("C:\\Files\\Output.xlsx");
Collection d'objets personnalisés vers Excel en Java

Collection d’objets personnalisés vers Excel en Java

La méthode importCustomObjects() de la classe Cells exporte une liste d’objets personnalisés et prend les paramètres suivants. L’API fournit également la version surchargée de cette méthode qui prend moins de paramètres.

  • *list_: la collection d’objets personnalisés
  • propertName: spécifiez le nom d’une propriété spécifique à exporter. S’il est nul, il exportera toutes les propriétés de l’objet
  • isPropertyNameShown: indique si le nom de la propriété sera exporté vers la première ligne
  • firstRow: le numéro de ligne de la première cellule à exporter
  • firstColumn: le numéro de colonne de la première cellule à exporter
  • rowNumber: nombre de lignes à exporter
  • insertRows: indique si des lignes supplémentaires sont ajoutées pour ajuster les données
  • dataFormatString: chaîne de format de date pour les cellules
  • convertStringToNumber: indique si cette méthode tentera de convertir une chaîne en nombre.

Exporter des données vers Excel avec des cellules fusionnées en Java

Vous pouvez exporter des données d’une collection d’objets vers une feuille de calcul contenant des cellules fusionnées en suivant les étapes mentionnées ci-dessous:

  • Créer une instance de la Workbook class with template file path
  • Obtenir la feuille de calcul dans une instance de la classe Worksheet
  • Créer une liste de tableaux d’objets
  • Créez une instance de la classe ImportTableOptions
  • Appelez la méthode importCustomObjects() avec la liste de tableau
  • Enregistrez le fichier de sortie en appelant la méthode save() de la classe Workbook

L’exemple de code suivant montre comment exporter une collection d’objets personnalisés vers une feuille de calcul Excel avec des cellules fusionnées en Java.

// Ouverture d'un classeur existant.
Workbook workbook = new Workbook("C:\\Files\\SampleMergedTemplate.xlsx");

// Obtenir la référence de la feuille de travail
Worksheet sheet = workbook.getWorksheets().get(0);

// Instanciation d'un objet ArrayList
List<Product> productList = new ArrayList<Product>();

// Création d'une collection de produits
for (int i = 0; i < 3; i++)
{
  Product product = new Product(i, "Product - " + i);
    productList.add(product);
}

// Définir les options d'importation de table
ImportTableOptions tableOptions = new ImportTableOptions();

// Définissez la propriété CheckMergedCells sur true
tableOptions.setCheckMergedCells(true);
tableOptions.setFieldNameShown(false);

// Exporter les données vers un modèle Excel (dans la deuxième ligne, première colonne)           
sheet.getCells().importCustomObjects((Collection)productList, 1, 0, tableOptions);

// Enregistrez le fichier Excel
workbook.save("C:\\Files\\Output.xlsx", SaveFormat.XLSX);
Exporter des données vers Excel avec des cellules fusionnées en Java

Exporter des données vers Excel avec des cellules fusionnées en Java

La classe ImportTableOptions fournit plusieurs options pour exporter des données dans des cellules. Le setCheckMergedCells indique si la vérification des cellules fusionnées. La propriété setFieldNameShown indique si le nom du champ doit être exporté ou non.

Copier des lignes et des colonnes d’un fichier Excel à un autre en Java

Vous pouvez facilement copier des lignes et des colonnes d’un fichier Excel vers un autre fichier par programme en suivant les étapes mentionnées ci-dessous:

  • Créer une instance de la Workbook class with source workbook input file
  • Créer une instance de la Workbook class for destination workbook
  • Obtenir les feuilles de calcul source et de destination dans des instances distinctes de la classe Worksheet
  • Appelez la méthode copyRows() de la feuille de calcul de destination avec les cellules de la feuille de calcul source
  • Enregistrez le fichier de sortie du classeur de destination en appelant la méthode save() de la classe Workbook

L’exemple de code suivant montre comment copier des lignes et des colonnes d’un fichier Excel à un autre à l’aide de Java.

// Ouvrez le fichier Excel source.
Workbook srcWorkbook = new Workbook("C:\\Files\\Source_Workbook.xlsx");

// Instanciez le fichier Excel de destination.
Workbook destWorkbook = new Workbook();

// Obtenez la première feuille de calcul du classeur source.
Worksheet srcWorksheet = srcWorkbook.getWorksheets().get(0);

// Obtenez la première feuille de calcul du classeur de destination.
Worksheet desWorksheet = destWorkbook.getWorksheets().get(0);

// Copiez toutes les lignes de la première feuille de calcul du classeur source dans
// la première feuille de calcul du classeur de destination.
desWorksheet.getCells().copyRows(srcWorksheet.getCells(), 0, 0, srcWorksheet.getCells().getMaxDisplayRange().getRowCount());

// Enregistrez le fichier excel.
destWorkbook.save("C:\\Files\\Destination_Workbook.xlsx");	
Copier des lignes et des colonnes d'un fichier Excel à un autre en Java

Copier des lignes et des colonnes d’un fichier Excel à un autre en Java

Vous pouvez copier des lignes spécifiques d’un fichier Excel à un autre. L’exemple de code suivant montre comment copier des lignes spécifiques d’un fichier Excel à un autre à l’aide de Java.

// Ouvrez le fichier Excel source.
Workbook srcWorkbook = new Workbook("C:\\Files\\Source_Workbook.xlsx");

// Instanciez le fichier Excel de destination.
Workbook destWorkbook = new Workbook();

// Obtenez la première feuille de calcul du classeur source.
Worksheet srcWorksheet = srcWorkbook.getWorksheets().get(0);

// Obtenez la première feuille de calcul du classeur de destination.
Worksheet desWorksheet = destWorkbook.getWorksheets().get(0);

// Copiez la deuxième ligne du classeur source dans la première ligne du classeur de destination.
desWorksheet.getCells().copyRow(srcWorksheet.getCells(), 1, 0);

// Copiez la quatrième ligne du classeur source dans la deuxième ligne du classeur de destination.
desWorksheet.getCells().copyRow(srcWorksheet.getCells(), 3, 1);

// Enregistrez le fichier excel.
destWorkbook.save("C:\\Files\\Destination_Workbook.xlsx");
Copier des lignes et des colonnes spécifiques d'un fichier Excel à un autre en Java

Copier des lignes et des colonnes spécifiques d’un fichier Excel à un autre en Java

La méthode copyRows() copie les données et les formats de lignes entières. Il prend les cellules de la feuille de calcul source à copier en tant que paramètres d’entrée avec l’index de ligne source, l’index de ligne de destination et le numéro de ligne copié. L’API fournit également les versions surchargées de cette méthode pour copier des lignes avec CopyOptions et PasteOptions.

De même, vous pouvez copier les données des colonnes d’un document Microsoft Excel à un autre à l’aide des méthodes copyColumn() ou copyColumns().

Exporter des données JSON vers Excel en Java

Vous pouvez facilement exporter des données d’un fichier JSON vers Excel en suivant les étapes mentionnées ci-dessous:

  • Créer une instance de la Workbook class
  • Obtenir la feuille de calcul dans une instance de la classe Worksheet
  • Lire le fichier JSON
  • Créez une instance de la classe CellsFactory
  • Initiez le style en appelant la méthode createStyle()
  • Définissez diverses propriétés de style telles que l’alignement horizontal, la couleur de la police, etc.
  • Créer une instance de la classe JsonLayoutOptions
  • Définir le style du titre avec l’objet style
  • Définir le tableau en tant que propriété de table sur true
  • Appelez la méthode JsonUtility.importData() avec l’entrée JSON et JsonLayoutOptions
  • Enregistrez le fichier de sortie en appelant la méthode save() de la classe Workbook

L’exemple de code suivant montre comment exporter des données d’un fichier JSON vers Excel à l’aide de Java.

// Instanciation d'un objet Workbook
Workbook workbook = new Workbook();
Worksheet worksheet = workbook.getWorksheets().get(0);

// Lire le fichier JSON
File file = new File("C:\\Files\\sample.json");
BufferedReader bufferedReader = new BufferedReader(new FileReader(file));
    String jsonInput = "";
    String tempString;
    while ((tempString = bufferedReader.readLine()) != null) {
      jsonInput = jsonInput + tempString; 
}    bufferedReader.close();

// Définir des styles
CellsFactory factory = new CellsFactory();
Style style = factory.createStyle();
style.setHorizontalAlignment(TextAlignmentType.CENTER);
style.getFont().setColor(Color.getCyan());
style.getFont().setBold(true);

// Définir JsonLayoutOptions
JsonLayoutOptions options = new JsonLayoutOptions();
options.setTitleStyle(style);
options.setArrayAsTable(true);

// Exporter les données JSON
JsonUtility.importData(jsonInput, worksheet.getCells(), 0, 0, options);

// Enregistrer le fichier Excel
workbook.save("C:\\Files\\Output.xlsx");
{
  "quiz": {
    "sport": {
      "q1": {
        "question": "Which one is correct team name in NBA?",
        "answer": "Huston Rocket"
      }
    },
    "maths": {
      "q1": {
        "question": "5 + 7 = ?",
        "answer": "12"
      },
      "q2": {
        "question": "12 - 8 = ?",
        "answer": "4"
      }
    }
  }
}
Exporter des données JSON vers Excel en Java

Exporter des données JSON vers Excel en Java

La classe CellsFactory instancie les classes du modèle Cells. La méthode createStyle() de cette classe crée un nouvel objet de style de la classe Style. La classe Style permet de définir le style d’affichage du document Excel, tel que la police, la couleur, l’alignement, la bordure, etc.

La classe JsonLayoutOptions fournit les options du type de mise en page JSON. La méthode setTitleStyle de cette classe est utilisée pour définir le style défini du titre. La méthode setArrayAsTable permet de traiter Array comme une table.

L’API fournit la classe JsonUtility pour traiter le JSON. La méthode importData() de cette classe exporte la chaîne JSON et prend les paramètres suivants:

  • json: la chaîne JSON
  • cells: les cellules
  • row: l’index de la ligne
  • column: l’index de la colonne
  • option: les options pour exporter la chaîne JSON

Obtenir des données CSV dans Excel à l’aide de Java

Vous pouvez exporter des données d’un fichier CSV vers Excel en suivant les étapes simples mentionnées ci-dessous:

  • Créez une instance de la classe LoadOptions avec LoadFormat
  • Créez une instance de la classe Workbook avec le chemin du fichier CSV et l’objet LoadOptions
  • Appelez la méthode save() de la classe Workbook et enregistrez le fichier de sortie

L’exemple de code suivant montre comment exporter des données d’un fichier CSV vers Excel à l’aide de Java.

// Initialisez LoadOptions avec CSV LoadFormat.
LoadOptions loadOptions = new LoadOptions(LoadFormat.CSV);

// Ouvrir le fichier CSV en tant qu'objet Workbook
Workbook workbook = new Workbook("C:\\Files\\Sample.csv", loadOptions);

// Enregistrez le fichier en tant que document Excel
workbook.save("C:\\Files\\Output.xlsx");
id,language,edition,author,streetAddress,city,state,postalCode
01,Java,third,Herbert Schildt,126,San Jone,CA,394221
02,C++,second,EAAAA,126,San Jone,CA,394221
03,.Net,second,E.Balagurusamy,126,San Jone,CA,394221
Exporter des données CSV vers Excel en Java

Exporter des données CSV vers Excel en Java

La classe LoadOptions de l’API fournit des options pour charger le fichier. La classe LoadFormat contient des constantes représentant les formats de fichier de chargement.

Obtenez une licence gratuite

Vous pouvez essayer l’API sans limitation d’évaluation en demandant une licence temporaire gratuite.

Conclusion

Dans cet article, vous avez appris comment exporter des données vers Excel en Java. Vous avez également appris comment exporter des données depuis des fichiers Arrays, JSON ou CSV vers Excel par programmation. De plus, vous avez appris comment copier des lignes et des colonnes d’un fichier Excel vers un autre fichier à l’aide de Java. Vous pouvez en savoir plus sur l’API Aspose.Cells for Java en utilisant la documentation. En cas d’ambiguïté, n’hésitez pas à nous contacter sur le forum.

Voir également

Frequently Asked Questions

Comment exporter des données vers un fichier XLSX en Java ? Vous pouvez facilement exporter des données depuis Arrays, Collection of Objects, JSON et CSV vers un fichier XLSX à l’aide de l’API Aspose.Cells for Java facile à intégrer dans votre application Java.

Comment exporter des données de JSON vers Excel ? L’API Aspose.Cells fournit JsonUtility pour exporter les données d’un fichier JSON vers Excel en Java. Vous pouvez trouver des étapes simples dans la section Exporter des données JSON vers Excel en Java.

Comment exporter des données de CSV vers Excel en Java ? Vous pouvez simplement charger un fichier CSV et l’enregistrer au format XLSX à l’aide de l’API Aspose.Cells. Vous pouvez trouver des étapes simples dans la section Obtenir des données CSV dans Excel à l’aide de Java.