Travailler avec le Spreadsheet Management

Travailler avec le Spreadsheet Management

Travailler avec le Spreadsheet Management

Ce guide montre comment créer, charger, modifier et enregistrer les livres d’excel à l’aide de Aspose.Cells FOSS pour Java. Workbook, WorksheetCollection, Worksheet, Cells,et Cell Cours de gestion des feuilles d’écran fin à fin.


Créer un nouveau livre de travail

Utilisez le constructeur sans arguments pour créer un livre de travail vide. nommé Sheet1 Il est ajouté automatiquement.

import com.aspose.cells.foss.Workbook;
import com.aspose.cells.foss.WorksheetCollection;
import com.aspose.cells.foss.Worksheet;

Workbook workbook = new Workbook();
WorksheetCollection sheets = workbook.getWorksheets();
Worksheet sheet = sheets.get(0);
System.out.println("Sheet name: " + sheet.getName()); // Sheet1

Télécharger un livre de travail d’un fichier

Passez un fichier à la route de Workbook(fileName) Le constructeur ouvre un bâtiment existant .xlsx ou .ods Fiche : Utiliser Workbook(fileName, options) pour fournir LoadOptions Quand vous avez besoin Pour contrôler la détection de format ou le traitement par mot de passe.

import com.aspose.cells.foss.Workbook;
import com.aspose.cells.foss.LoadOptions;

// Simple load
Workbook workbook = new Workbook("data/report.xlsx");

// Load with explicit options
LoadOptions opts = new LoadOptions();
Workbook workbookWithOpts = new Workbook("data/report.xlsx", opts);

Lâcher un livre de travail d’un courant

Workbook(stream) et Workbook(stream, options) Accepter tout java.io.InputStream. Ceci est utile lorsque le fichier provient d’un réseau, d’une base de données BLOB ou d ́un In-mémorisation de la byte.

import com.aspose.cells.foss.Workbook;
import java.io.FileInputStream;
import java.io.InputStream;

try (InputStream is = new FileInputStream("data/template.xlsx")) {
    Workbook workbook = new Workbook(is);
    System.out.println("Worksheets: " + workbook.getWorksheets().getCount());
}

Accès et gestion des feuilles de travail

Workbook.getWorksheets() Retour à A WorksheetCollection.- Retrir les feuilles par index ou par nom, iterez sur toutes les feuilles et ajoutez ou supprimez les listes selon le besoin.

import com.aspose.cells.foss.Workbook;
import com.aspose.cells.foss.WorksheetCollection;
import com.aspose.cells.foss.Worksheet;

Workbook workbook = new Workbook();
WorksheetCollection sheets = workbook.getWorksheets();

// Access by index
Worksheet first = sheets.get(0);
System.out.println(first.getName()); // Sheet1

// Add a named sheet
int idx = sheets.add("Summary");
Worksheet summary = sheets.get(idx);
summary.setName("Summary");

// Iterate all sheets
for (Worksheet ws : sheets) {
    System.out.println("Sheet: " + ws.getName());
}

// Remove a sheet by name
sheets.removeAt("Sheet1");
System.out.println("Remaining sheets: " + sheets.getCount());

Lire et écrire des valeurs cellulaires

Naviguer vers une cellule en utilisant Worksheet.getCells(),qui revient à Cells La collection. Rétrouvez A Cell par nom (p. ex. "A1") ou par index de ligne/colonne basé sur zéro. putValue() d’écrire des valeurs primitives et de getValue() / getStringValue() Pour lire Les retourner.

import com.aspose.cells.foss.Workbook;
import com.aspose.cells.foss.Worksheet;
import com.aspose.cells.foss.Cells;
import com.aspose.cells.foss.Cell;

Workbook workbook = new Workbook();
WorksheetCollection sheets = workbook.getWorksheets();
Worksheet sheet = sheets.get(0);
Cells cells = sheet.getCells();

// Write values
cells.get("A1").putValue("Product");
cells.get("B1").putValue("Units Sold");

// Write by row/column index (0-based)
Cell a2 = cells.get(1, 0);
a2.putValue("Widget A");

Cell b2 = cells.get(1, 1);
b2.putValue(1200);

// Read back
System.out.println(a2.getStringValue()); // Widget A
System.out.println(b2.getValue());       // 1200

Formule cellulaire

Assignez une ligne de formule à une cellule par setFormula().Les cellules évaluent les formules lorsque le livre de travail est sauvé ou lorsque la calculation est explicitement déclenchée.

import com.aspose.cells.foss.Workbook;
import com.aspose.cells.foss.Cells;
import com.aspose.cells.foss.Cell;

Workbook workbook = new Workbook();
WorksheetCollection sheets = workbook.getWorksheets();
Cells cells = sheets.get(0).getCells();

cells.get("A1").putValue(100);
cells.get("A2").putValue(200);

Cell a3 = cells.get("A3");
a3.setFormula("=SUM(A1:A2)");
System.out.println("Formula: " + a3.getFormula()); // =SUM(A1:A2)

Économiser un livre de travail

Utiliser Workbook.save(fileName) pour écrire le livre de travail sur disque.Le format d’exposition est déterminé par l’extension de fichier ; utilisation .xlsx Les livres de travail Excel.

import com.aspose.cells.foss.Workbook;

Workbook workbook = new Workbook();
workbook.getWorksheets().get(0).getCells().get("A1").putValue("Hello");

// Save to file -- format inferred from .xlsx extension
workbook.save("output/result.xlsx");

libération des ressources

Workbook Implémentations AutoCloseable.Utilisez un bloc de ressources pour assurer la Les ressources internes du livre de travail sont libérées immédiatement après utilisation.

import com.aspose.cells.foss.Workbook;

try (Workbook workbook = new Workbook("data/large.xlsx")) {
    workbook.save("output/large_modified.xlsx");
}
// workbook.close() called automatically

Conseils et meilleures pratiques

  • Utilisez toujours des ressources (try (Workbook wb = new Workbook(...))Pour la grande fichiers pour éviter de tenir les dossiers ouverts.
  • Préférez cells.get(row, column) sur cells.get(cellName) dans les chauds ; le Le surcharge complet évite la partage répétée des noms cellulaires.
  • Appel à workbook.getWorksheets().getCount() avant d’accéder aux feuilles par index pour éviter IndexOutOfBoundsException.
  • Nommez explicitement vos pages avec setName() Après add() Le code downstream peut être On les regarde par nom plutôt que par index fragile.
  • Ne vous souciez pas des résultats immédiatement après la formule. setFormula();- enregistrer d’abord ou Récupérer si vous avez besoin de valeurs calculées dans la même session.

Les problèmes communs

ProblèmeCauseFixé
WorkbookLoadException sur new Workbook(fileName)Fail de route incorrect ou fichiers bloquésVérifiez que le chemin existe et est lisible; fermez d’autres applications qui maintiennent le fichier
get(index) Jouer IndexOutOfBoundsExceptionIndex au-delà de la getCount() - 1Vérifier sheets.getCount() avant l’accès ; utilisation add() Pour créer une nouvelle feuille de
La cellule de formule est rentrée vide getValue()Formules non auto-calculées en mémoireSauver le livre de travail et le récharger pour obtenir les résultats de la formule
Le fichier est corrompu après save()Extension fausse de fichierAssurez-vous que le nom du fichier se termine avec .xlsx;Le format est déduit de l’extension

FAQ

Comment renommer un feuillet de travail ?

Retrée le Worksheet l’indice de l’objet par index WorksheetCollection et appeler setName(name) Avec le nouveau nom de l’affichage :

workbook.getWorksheets().get(0).setName("Sales Data");

Comment puis-je vérifier combien de feuilles un livre d’œuvre a ?

Appel à getCount() sur le WorksheetCollection Retourné par Workbook.getWorksheets() Pour obtenir le nombre total de feuilles d’œuvre :

int count = workbook.getWorksheets().getCount();

Puis-je ajouter plusieurs feuilles dans une seule appel ?

No. La téléphonie worksheets.add(sheetName) Chaque appel revient l’indice de la Nouveau panneau créé.

Comment vérifier le type de valeur d’une cellule ?

Retrée le Cell par nom et appel getType(),qui revient à CellValueType Valeur enum :

Cell cell = cells.get("A1");
System.out.println(cell.getType()); // CellValueType enum value

Le résumé de référence API

Classes / MéthodesDescription
Workbook()Créer un livre de travail vide avec une feuille blanche
Workbook(fileName)Télécharger un livre de travail d’un chemin de fichier
Workbook(stream)Il remplit un livre d’œuvre à partir d’un InputStream
Workbook(fileName, options)Il est chargé d’un livre de travail avec LoadOptions
Workbook.getWorksheets()Retourner le WorksheetCollection
Workbook.save(fileName)Économiser sur un fichier (format déduit de l’extension)
Workbook.save(stream, format)Épargner à un flux avec explicité SaveFormat
WorksheetCollection.get(index)Retourner le fichier par index basé sur zéro
WorksheetCollection.get(name)Retourner le fichier par nom
WorksheetCollection.add(sheetName)Ajouter une feuille nommée; retourner son index
WorksheetCollection.getCount()Nombre de feuilles dans le livre d’oeuvre
WorksheetCollection.removeAt(sheetName)Supprimer une feuille par nom
Worksheet.getCells()Retourner le Cells Collections pour cette feuille
Worksheet.getName() / setName()Obtenez ou définissez le nom de la feuille de table
Cells.get(cellName)Retour à A Cell par nom (par exemple « A1 »)
Cells.get(row, column)Retour à A Cell par null-basé ligne/colonne
Cell.putValue(value)Écrivez une valeur à la cellule
Cell.getValue()Il réalise la valeur cellulaire comme Object
Cell.getStringValue()Il réalise la valeur cellulaire comme un String
Cell.setFormula(formula)Définir une ligne de formule (par exemple «=SUM(A1:A2) »)
LoadOptionsConfiguration pour le chargement du livre de travail
SaveFormatEnumé de constants de format (formate est déduite par l’extension du fichier ; pas passée à save())

Voir aussi

 Français