Java : créer, lire ou mettre à jour des documents Excel

2023-12-06 03:08:23

Installer avec Maven

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

La feuille de calcul Excel est un format de fichier populaire qui permet aux utilisateurs d'organiser, d'analyser et d'afficher des données dans des tableaux. La possibilité d'interagir par programmation avec des fichiers Excel est précieuse pour automatiser et intégrer ses fonctionnalités dans le logiciel. Ceci est particulièrement utile lorsqu’il s’agit d’ensembles de données étendus, de calculs complexes ou de génération/mise à jour dynamique de données. Dans cet article, vous apprendrez comment créer, lire ou mettre à jour un document 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>
    

Créer un document Excel en Java

Spire.XLS for Java propose une variété de classes et d'interfaces que vous pouvez utiliser pour créer et modifier des documents Excel. Voici une liste des classes, propriétés et méthodes importantes impliquées dans cet article.

Membre Description
Classe de classeur Représente un modèle de classeur Excel.
Méthode Workbook.getWorksheets().add() Ajoute une feuille de calcul au classeur.
Méthode Workbook.saveToFile() Enregistre le classeur dans un document Excel.
Classe de feuille de travail Représente une feuille de calcul dans un classeur.
Méthode Worksheet.getRange() Obtient une cellule ou une plage de cellules spécifique à partir d’une feuille de calcul.
Méthode Worksheet.insertArray() Importe les données d'un tableau vers une feuille de calcul.
Classe CellRange Représente une cellule ou une plage de cellules dans une feuille de calcul.
Méthode CellRange.setValue() Définit la valeur d'une cellule.
Méthode CellRange.getValue() Obtient la valeur d'une cellule.

Voici les étapes pour créer un document Excel à partir de zéro à l’aide de Spire.XLS for Java.

  • Créez un objet Workbook.
  • Ajoutez une feuille de calcul à l’aide de la méthode Workbook.getWorksheets().add().
  • Écrivez des données dans une cellule spécifique à l'aide de la méthode Worksheet.getRange.setValue().
  • Importez les données d'un tableau vers la feuille de calcul à l'aide de la méthode Worksheet.insertArray().
  • Enregistrez le classeur dans un document Excel à l'aide de la méthode 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);
        }
    }

Java: Create, Read, or Update Excel Documents

Lire les données d'une feuille de calcul en Java

La méthode CellRange.getValue() renvoie la valeur numérique ou la valeur texte d'une cellule sous forme de chaîne. Pour obtenir les données d’une feuille de calcul entière ou d’une plage de cellules, parcourez les cellules qu’elle contient. Voici les étapes pour obtenir les données d'une feuille de calcul à l'aide de Spire.XLS for Java.

  • Créez un objet Workbook.
  • Chargez un document Excel à l'aide de la méthode Workbook.loadFromFile().
  • Obtenez une feuille de calcul spécifique à l’aide de la méthode Workbook.getWorksheets().get(index).
  • Obtenez la plage de cellules contenant les données à l’aide de la méthode Worksheet.getAllocatedRange().
  • Parcourez les lignes et les colonnes pour obtenir les cellules dans la plage et renvoyez la valeur de chaque cellule à l'aide de la méthode 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();
            }
        }
    }

Java: Create, Read, or Update Excel Documents

Mettre à jour un document Excel en Java

Pour modifier la valeur d'une certaine cellule, réattribuez-lui simplement une valeur à l'aide de la méthode Worksheet.getRange().setValue(). Voici les étapes détaillées.

  • Créez un objet Workbook.
  • Chargez un document Excel à l'aide de la méthode Workbook.LoadFromFile().
  • Obtenez une feuille de calcul spécifique via la propriété Workbook.Worksheets[index].
  • Modifiez la valeur d’une cellule particulière via la propriété Worksheet.Range.Value.
  • Enregistrez le classeur dans un fichier Excel à l’aide de la méthode 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);
        }
    }

Java: Create, Read, or Update Excel Documents

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