Συνεργασία με διαχείριση Spreadsheet

Συνεργασία με διαχείριση Spreadsheet

Συνεργασία με διαχείριση Spreadsheet

Αυτό το εγχειρίδιο δείχνει πώς να δημιουργήσετε, φορτίστε, τροποποιήστε και αποθηκεύετε βιβλία εργασίας του Excel χρησιμοποιώντας Aspose.Cells FOSS για Java. Workbook, WorksheetCollection, Worksheet, Cells,και Cell Τελικά, η διαχείριση των τελικών διαστάσεων.


Δημιουργία ενός νέου βιβλίου εργασίας

Χρησιμοποιήστε το κατασκευαστή χωρίς επιχειρήματα για να δημιουργήσετε ένα κενό βιβλίο εργασίας. Ονομαστικό Sheet1 Προστίθεται αυτόματα.

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

Κατεβάστε ένα βιβλίο εργασίας από ένα αρχείο

Πάρτε ένα αρχείο στο δρόμο για το Workbook(fileName) Ο κατασκευαστής ανοίγει ένα υπάρχον .xlsx ή .ods Ετικέτες. χρησιμοποιήστε Workbook(fileName, options) για να προσφέρει LoadOptions Όταν χρειάζεσαι Για να ελέγξετε τη διαχείριση μορφής ή κωδικού πρόσβασης.

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

Κατεβάστε ένα βιβλίο εργασίας από μια ροή

Workbook(stream) και Workbook(stream, options) Αποδέχεται οποιαδήποτε java.io.InputStream. Αυτό είναι χρήσιμο όταν το αρχείο προέρχεται από έναν πόρο δικτύου, μια βάση δεδομένων BLOB ή ένα Μύθος μνήμης με αρέσει.

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());
}

Διαχείριση και πρόσβαση σε εργαστήρια

Workbook.getWorksheets() Επιστρέφει ο Α WorksheetCollection.• Επαναφορά με δείκτη ή με όνομα, ιθερίστε πάνω από όλα τα φύλλα και προσθέστε ή αφαιρέστε φύλλες όπως απαιτείται.

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());

Διαβάστε και γράψτε κελικές αξίες

Ναυτιλία σε ένα κελί χρησιμοποιώντας Worksheet.getCells(),που επιστρέφει σε Cells συλλογή . Επαναλάβετε A Cell Με το όνομα (π.χ. "A1"• ή με μηδενικό δείκτη γραμμής/στήλης. χρησιμοποιήστε putValue() να γράψει πρωτόγονες αξίες και getValue() / getStringValue() Να διαβάσεις τους πίσω.

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

Εισαγωγή κυτταρικών φόρμουλ

Προσδιορίστε μια γραμμή φόρμουλα σε ένα κελί μέσω setFormula().Συσκευές: Τα κύτταρα αξιολογούν τις φόρμουλες όταν το βιβλίο εργασίας αποθηκεύεται ή όταν ο υπολογισμός εκκρεμεί ρητά.

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)

Αποθηκεύοντας ένα βιβλίο εργασίας

Χρησιμοποιήστε Workbook.save(fileName) να γράψετε το βιβλίο εργασίας στο δίσκο. η μορφή εκκίνησης είναι καθορίζεται από την επέκταση αρχείου. χρήση .xlsx Για το 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");

Απελευθέρωση πόρων

Workbook Εφαρμογές AutoCloseable.Χρησιμοποιήστε ένα μπλοκ δοκιμών-με πόρους για να εξασφαλίσετε την Οι εσωτερικοί πόροι του βιβλίου εργασίας απελευθερώνονται αμέσως μετά τη χρήση.

import com.aspose.cells.foss.Workbook;

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

Συμβουλές και βέλτιστες πρακτικές

  • Πάντα χρησιμοποιείτε τα μέσα (try (Workbook wb = new Workbook(...))Για μεγάλο αρχεία για να αποφύγετε την ανοιχτή διαχείριση των αρχείων.
  • Προτιμώ cells.get(row, column) Πάνω από cells.get(cellName) σε ζεστά σκουπίδια, το Ο πλήρης υπερφόρτωση αποτρέπει την επαναλαμβανόμενη παρσινγκ του ονόματος κυττάρου.
  • Κλήση workbook.getWorksheets().getCount() πριν από την πρόσβαση σε φύλλα με δείκτη για να αποφύγετε IndexOutOfBoundsException.
  • Ονομάστε τα φύλλα σας ρητά με setName() Μετά από add() Ο κωδικός Downstream μπορεί να Δείτε τα με το όνομα και όχι με τον εύθραυστο δείκτη.
  • Μην βασίζεστε στα αποτελέσματα της φόρμουλας αμέσως μετά την setFormula();• Να αποθηκεύσετε πρώτα ή επαναφορτίστε εάν χρειάζεστε υπολογισμένες τιμές στην ίδια συνεδρία.

κοινά ζητήματα

ΘέμαΑιτίαΦΙΛΕΞΗ
WorkbookLoadException Ο ΣΕ new Workbook(fileName)Αδελφοδιαδρομή λανθασμένη ή κλειδωμένο αρχείοΕλέγξτε το μονοπάτι υπάρχει και είναι αναγνωσιμό. κλείστε άλλες εφαρμογές που κρατούν το αρχείο
get(index) Πυροβολισμοί IndexOutOfBoundsExceptionΔείκτης πέρα από το getCount() - 1Ελέγξτε sheets.getCount() πριν από την πρόσβαση, χρήση add() Δημιουργία νέου φύλλου
Η φράση επιστρέφει άδειο getValue()Φύλλοι που δεν υπολογίζονται αυτοματοποιημένα στη μνήμηΑποθηκεύστε το βιβλίο εργασίας και επαναφορτίστε για να πάρετε αποτελέσματα φόρμουλα
Το αρχείο εκκίνησης είναι διαφθορά μετά από save()Λάθος επεκτάσεις αρχείωνΝα διασφαλιστεί ότι το όνομα του αρχείου τελειώνει με .xlsx;Η μορφή εξάγεται από την επέκταση

FAQ

Πώς να ανακαλέσω ένα βιβλίο εργασίας;?

Αποκτήστε το Worksheet Ο δείκτης από το WorksheetCollection και καλεί setName(name) Με το νέο όνομα της οθόνης:

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

Πώς μπορώ να ελέγξω πόσα φύλλα έχει ένα βιβλίο εργασίας;?

Κλήση getCount() Στον WorksheetCollection Επιστρέφεται από Workbook.getWorksheets() Για να λάβετε τον συνολικό αριθμό των εργασιακών φύλλων:

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

Μπορώ να προσθέσω πολλαπλές φύλλες σε μία κλήση;?

Όχι καλέστε worksheets.add(sheetName) Κάθε κλήση επιστρέφει τον δείκτη του δίσκου. Νέα δημιουργία του φύλλου.

Πώς μπορώ να ελέγξω τον τύπο της αξίας ενός κυττάρου;?

Αποκτήστε το Cell Με όνομα και κλήση getType(),που επιστρέφει σε CellValueType Αξία του ΕΝΟ:

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

Συνοπτική αναφορά API

Κλάση / ΜέθοδοςΠεριγραφή
Workbook()Δημιουργεί ένα κενό βιβλίο εργασίας με μία λευκή φύλλα
Workbook(fileName)Κατεβάστε ένα βιβλίο εργασίας από μια πορεία αρχείων
Workbook(stream)Κατεβάστε ένα βιβλίο εργασίας από μια InputStream
Workbook(fileName, options)Κατεβάστε ένα βιβλίο εργασίας με LoadOptions
Workbook.getWorksheets()Επιστρέφει η WorksheetCollection
Workbook.save(fileName)Αποθηκεύσεις σε ένα αρχείο (τυπικότητα που προέρχεται από την επέκταση)
Workbook.save(stream, format)Σωστή σε μια ροή με σαφήνεια SaveFormat
WorksheetCollection.get(index)Επιστρέφει το φύλλο με μηδενικό δείκτη
WorksheetCollection.get(name)Επιστρέφει το φύλλο με όνομα
WorksheetCollection.add(sheetName)Προσθέτει ένα ονομαστικό φύλλο, επιστρέφει τον δείκτη του
WorksheetCollection.getCount()Αριθμός φύλλων στο βιβλίο εργασίας
WorksheetCollection.removeAt(sheetName)Αφαιρέστε ένα φύλλο με το όνομα
Worksheet.getCells()Επιστρέφει η Cells Συλλογή για το παρόν φύλλο
Worksheet.getName() / setName()Αποκτήστε ή τοποθετήσετε το όνομα του φύλλου καρτέλ
Cells.get(cellName)Επιστροφή Α Cell με το όνομα (π.χ. «Α1»)
Cells.get(row, column)Επιστροφή Α Cell με μηδενική γραμμή / στήλη
Cell.putValue(value)Γράφει μια αξία στο κελί
Cell.getValue()Διαβάστε την τιμή του κυττάρου ως Object
Cell.getStringValue()Διαβάστε την τιμή του κυττάρου ως ένα String
Cell.setFormula(formula)Σύνταξη στήλης φόρμουλα (π.χ. «=SUM(A1:A2)»)
LoadOptionsΕισαγωγή στο Workbook Loading
SaveFormatΕνότητα σταθερών μορφών (η μορφή απορρέει από την επέκταση αρχείου, δεν έχει περάσει σε save())

Δείτε επίσης

 Ελληνικά