Εισαγωγή
Το Aspose.Cells FOSS for Java είναι μια ανοιχτού κώδικα βιβλιοθήκη Java 17 που επιτρέπει στους προγραμματιστές
να δημιουργούν, φορτώνουν, τροποποιούν και αποθηκεύουν βιβλία εργασίας Excel .xlsx εξ ολοκλήρου στην JVM — χωρίς
εγκατάσταση του Microsoft Office, χωρίς εγγενείς βιβλιοθήκες και χωρίς εμπορική εξάρτηση χρόνου εκτέλεσης Aspose
εξάρτηση. Το δημόσιο API βρίσκεται στο πακέτο com.aspose.cells_foss και
κυκλοφορεί υπό την άδεια MIT, καθιστώντας το κατάλληλο για προσωπικά, ανοιχτού κώδικα, και
εμπορικά έργα εξίσου.
Η βιβλιοθήκη διανέμεται ως τυπικό Maven artifact και καλύπτει το βασικό μοντέλο αντικειμένων OOXML λογιστικού φύλλου: βιβλία εργασίας, φύλλα εργασίας, κελιά, στυλ και συλλογές. Κατασκευάζεται με Maven 3.9+ και στοχεύει σε Java 17+, ενσωματώνοντας φυσικά σε οποιοδήποτε σύγχρονο pipeline κατασκευής Java.
Προσθέστε την εξάρτηση στο pom.xml και είστε έτοιμοι να δημιουργήσετε ή να επεξεργαστείτε βιβλία εργασίας Excel
από ένα servlet, ένα batch job, μια λειτουργία Lambda ή οποιοδήποτε άλλο περιβάλλον διακομιστή Java.
Βασικά χαρακτηριστικά
Διαχείριση βιβλίου εργασίας και φύλλου εργασίας
Η κλάση Workbook είναι το σημείο εισόδου για όλες τις λειτουργίες λογιστικού φύλλου. Υλοποιεί
AutoCloseable ώστε να ενσωματώνεται ομαλά με το πρότυπο try-with-resources. Μπορείτε να
δημιουργήσετε νέα βιβλία εργασίας, να φορτώσετε υπάρχοντα αρχεία .xlsx, να προσθέσετε και να αφαιρέσετε φύλλα εργασίας, να μετονομάσετε
φύλλα με setName(), να ορίσετε το ενεργό φύλλο και να ελέγξετε την ορατότητα των καρτελών.
import com.aspose.cells_foss.Workbook;
import com.aspose.cells_foss.Worksheet;
import com.aspose.cells_foss.WorksheetCollection;
try (Workbook workbook = new Workbook()) {
WorksheetCollection sheets = workbook.getWorksheets();
Worksheet sheet = sheets.get(0);
sheet.setName("Sales");
workbook.save("sales.xlsx");
}
Τιμές Κελιών και Τύποι
Η κλάση Cell υποστηρίζει αποθήκευση τιμών με τύπο μέσω putValue() για συμβολοσειρές, ακέραιους,
double, boolean και τιμές LocalDateTime. Οι συμβολοσειρές τύπων αποθηκεύονται με
setFormula() και θα επαναϋπολογιστούν από το Excel κατά το άνοιγμα. Ο τύπος τιμής εκτίθεται
μέσω CellValueType — STRING, NUMBER, BOOLEAN, DATE_TIME ή FORMULA.
import com.aspose.cells_foss.Cell;
import com.aspose.cells_foss.Workbook;
import com.aspose.cells_foss.Worksheet;
try (Workbook workbook = new Workbook()) {
Worksheet sheet = workbook.getWorksheets().get(0);
Cell a1 = sheet.getCells().get("A1");
a1.putValue("Revenue");
Cell b1 = sheet.getCells().get("B1");
b1.putValue(12500.75);
Cell c1 = sheet.getCells().get("C1");
c1.setFormula("=B1*1.2");
workbook.save("values.xlsx");
}
Μορφοποίηση κελιών και στυλ
Η μορφοποίηση εφαρμόζεται μέσω της κλάσης Style, που ανακτάται από cell.getStyle() και γράφεται ξανά με cell.setStyle(). Μπορείτε να ρυθμίσετε τη έντονη γραφή και το χρώμα στην Font, να εφαρμόσετε HorizontalAlignment και να ορίσετε προσαρμοσμένες συμβολοσειρές μορφής αριθμού μέσω style.setCustom(). Το ύψος της γραμμής και το πλάτος της στήλης ελέγχονται μέσω getRows().get(n).setHeight() και getColumns().get(n).setWidth().
import com.aspose.cells_foss.Style;
import com.aspose.cells_foss.Cell;
import com.aspose.cells_foss.Workbook;
import com.aspose.cells_foss.Worksheet;
try (Workbook workbook = new Workbook()) {
Worksheet sheet = workbook.getWorksheets().get(0);
Cell cell = sheet.getCells().get("B1");
cell.putValue(9999.5);
Style style = cell.getStyle();
style.getFont().setBold(true);
style.setCustom("#,##0.00");
cell.setStyle(style);
workbook.save("styled.xlsx");
}
Επικύρωση δεδομένων και Μορφοποίηση υπό όρους
Οι κανόνες επικύρωσης δεδομένων προστίθενται μέσω sheet.getValidations().add(). Κάθε αντικείμενο Validation περιέχει ένα ValidationType (π.χ., WHOLE_NUMBER), ένα OperatorType (π.χ., BETWEEN) και συμβολοσειρές τύπων για τα όρια. Η μορφοποίηση υπό όρους προστίθεται μέσω sheet.getConditionalFormattings().add(), η οποία επιστρέφει ένα FormatConditionCollection όπου καθορίζετε περιοχές κελιών και συνθήκες.
import com.aspose.cells_foss.CellArea;
import com.aspose.cells_foss.Validation;
import com.aspose.cells_foss.ValidationType;
import com.aspose.cells_foss.OperatorType;
import com.aspose.cells_foss.Workbook;
import com.aspose.cells_foss.Worksheet;
try (Workbook workbook = new Workbook()) {
Worksheet sheet = workbook.getWorksheets().get(0);
int vi = sheet.getValidations().add(new CellArea(1, 0, 10, 0));
Validation validation = sheet.getValidations().get(vi);
validation.setType(ValidationType.WHOLE_NUMBER);
validation.setOperator(OperatorType.BETWEEN);
validation.setFormula1("1");
validation.setFormula2("100");
workbook.save("validated.xlsx");
}
AutoFilters και Ρύθμιση Σελίδας
Οι AutoFilters ρυθμίζονται καλώντας το ws.getAutoFilter().setRange() με μια συμβολοσειρά περιοχής σε σημειογραφία A1.
Το αντικείμενο PageSetup ελέγχει το μέγεθος του χαρτιού, τον προσανατολισμό και τις ρυθμίσεις προσαρμογής στη σελίδα
για έξοδο έτοιμη για εκτύπωση.
Η προστασία του φύλλου εργασίας εφαρμόζεται μέσω του protect() με
ένα WorksheetProtectionModel.
Γρήγορη εκκίνηση
Προσθέστε την εξάρτηση Maven στο pom.xml σας:
<dependency>
<groupId>com.aspose</groupId>
<artifactId>cells-foss</artifactId>
<version>1.0.0</version>
</dependency>
Δημιουργήστε ένα βιβλίο εργασίας, γεμίστε κελιά, εφαρμόστε μορφοποίηση και αποθηκεύστε:
import com.aspose.cells_foss.Cell;
import com.aspose.cells_foss.Style;
import com.aspose.cells_foss.Workbook;
import com.aspose.cells_foss.Worksheet;
public class QuickStart {
public static void main(String[] args) {
try (Workbook workbook = new Workbook()) {
Worksheet sheet = workbook.getWorksheets().get(0);
sheet.setName("Report");
sheet.getCells().get("A1").putValue("Revenue");
Cell cell = sheet.getCells().get("B1");
cell.putValue(12500.75);
Style style = cell.getStyle();
style.getFont().setBold(true);
style.setCustom("#,##0.00");
cell.setStyle(style);
sheet.getCells().getRows().get(0).setHeight(22.0);
sheet.getCells().getColumns().get(1).setWidth(14.5);
workbook.save("report.xlsx");
}
}
}
Υποστηριζόμενες μορφές
| Μορφή | Επέκταση | Ανάγνωση | Εγγραφή |
|---|---|---|---|
| Excel Open XML | .xlsx | ✓ | ✓ |
Η αποθήκευση είναι αυτή τη στιγμή περιορισμένη στο .xlsx. Η βιβλιοθήκη αποθηκεύει και μεταφέρει τύπους,
αλλά δεν είναι πλήρης μηχανή υπολογισμού λογιστικού φύλλου.
Ανοιχτός Κώδικας & Αδειοδότηση
Το Aspose.Cells FOSS for Java κυκλοφορεί υπό την άδεια MIT. Είστε ελεύθεροι να το χρησιμοποιήσετε, να το τροποποιήσετε και να το διανείμετε σε προσωπικά, ανοιχτού κώδικα και εμπορικά έργα χωρίς περιορισμούς. Ο πηγαίος κώδικας είναι διαθέσιμος στο github.com/aspose-cells-foss/Aspose.Cells-FOSS-for-Java.