Introducere
Aspose.Cells FOSS for Java oferă un set cuprinzător de capabilități pentru foi de calcul pentru aplicații Java 17. Lansată sub licența MIT și distribuită ca un artefact Maven standard, biblioteca acoperă totul, de la crearea de cărți de lucru de bază, prin valori de celule tipizate, formatare bogată, validare de date și AutoFilter — toate fără o dependență de Microsoft Office.
Acest articol parcurge principalele zone de funcționalitate cu exemple de cod concentrate preluate din
suprafața API-ului verificată. Toate numele de clase și metode afișate mai jos există în bibliotecă
și sunt disponibile în versiunea 1.0.0.
Caracteristici principale
Gestionarea registrului de lucru și a foii de lucru
Clasa Workbook implementează AutoCloseable astfel încât să se integreze perfect cu
modelul Java try-with-resources. Puteți crea un registru de lucru gol, încărca un fișier
.xlsx, redenumi foile de lucru, adăuga sau elimina foi, seta foaia activă și
controla vizibilitatea filelor.
import com.aspose.cells_foss.Workbook;
import com.aspose.cells_foss.Worksheet;
try (Workbook workbook = new Workbook()) {
Worksheet sheet = workbook.getWorksheets().get(0);
sheet.setName("Q1 Report");
workbook.getWorksheets().addSheet("Summary");
workbook.save("report.xlsx");
}
Valori și formule de celule tipizate
Clasa Cell acceptă valori tipizate prin putValue() pentru String, int, double,
boolean și LocalDateTime. Metoda getType() returnează o valoare enum CellValueType —
STRING, NUMBER, BOOLEAN, DATE_TIME sau FORMULA — facilitând ramificarea pe tipul valorii fără a parsa șiruri. Șirurile de formulă sunt stocate cu
setFormula() și vor fi recalculat de Excel la deschidere.
import com.aspose.cells_foss.Cell;
import com.aspose.cells_foss.CellValueType;
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(42500.00);
Cell c1 = sheet.getCells().get("C1");
c1.setFormula("=B1*1.2");
// Check type
assert b1.getType() == CellValueType.NUMBER;
assert c1.getType() == CellValueType.FORMULA;
workbook.save("values.xlsx");
}
Formatarea celulelor și stiluri
Formatarea este aplicată prin obiectul Style preluat din cell.getStyle() și scris înapoi cu cell.setStyle(). Sub-obiectul Font expune setBold() și setColor(). HorizontalAlignment controlează alinierea textului — LEFT, CENTER sau RIGHT. Formatele numerice personalizate utilizează șiruri de format Excel prin style.setCustom(). Înălțimea rândului și lățimea coloanei sunt ajustate prin getRows().get(n).setHeight() și getColumns().get(n).setWidth().
import com.aspose.cells_foss.Cell;
import com.aspose.cells_foss.Style;
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.50);
Style style = cell.getStyle();
style.getFont().setBold(true);
style.setCustom("#,##0.00");
cell.setStyle(style);
sheet.getCells().getRows().get(0).setHeight(24.0);
sheet.getCells().getColumns().get(1).setWidth(16.0);
workbook.save("styled.xlsx");
}
Validare date
Regulile de validare a datelor sunt adăugate prin sheet.getValidations().add(). Fiecare
obiect Validation primește un ValidationType (de exemplu WHOLE_NUMBER, DECIMAL, LIST)
și un OperatorType (de exemplu BETWEEN, GREATER_THAN). Limitele formulei sunt stocate ca
șiruri prin setFormula1() și setFormula2().
import com.aspose.cells_foss.CellArea;
import com.aspose.cells_foss.OperatorType;
import com.aspose.cells_foss.Validation;
import com.aspose.cells_foss.ValidationType;
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");
}
Filtru automat
AutoFilters permit utilizatorilor finali să filtreze interactiv datele în Excel fără nicio configurare suplimentară. Apelați ws.getAutoFilter().setRange() cu un interval în notație A1 pentru a activa rândul de antet al filtrului. Coloane suplimentare de filtrare și criterii personalizate pot fi definite prin FilterColumn și AutoFilterCustomFilter.
import com.aspose.cells_foss.Workbook;
import com.aspose.cells_foss.Worksheet;
try (Workbook workbook = new Workbook()) {
Worksheet sheet = workbook.getWorksheets().get(0);
sheet.getCells().get("A1").putValue("Product");
sheet.getCells().get("B1").putValue("Qty");
sheet.getAutoFilter().setRange("A1:B1");
workbook.save("filtered.xlsx");
}
Configurare pagină și protecție foaie de lucru
Clasa PageSetup controlează dimensiunea hârtiei, orientarea paginii și setările de potrivire la pagină pentru ieșire pregătită pentru tipărire. Protecția foii de calcul este aplicată prin protect() cu un WorksheetProtectionModel, permițând anumitor celule să rămână editabile în timp ce restul este blocat. Legăturile hipertext sunt gestionate prin HyperlinkCollection.
Start rapid
Adăugați dependența la pom.xml:
<dependency>
<groupId>com.aspose</groupId>
<artifactId>cells-foss</artifactId>
<version>1.0.0</version>
</dependency>
Creează un workbook cu toate funcționalitățile majore în sub 20 de linii:
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("Sales");
sheet.getCells().get("A1").putValue("Revenue");
Cell b1 = sheet.getCells().get("B1");
b1.putValue(42500.00);
Style style = b1.getStyle();
style.getFont().setBold(true);
style.setCustom("#,##0.00");
b1.setStyle(style);
sheet.getAutoFilter().setRange("A1:B1");
workbook.save("sales.xlsx");
}
}
}
Formate acceptate
| Format | Extensie | Citire | Scriere |
|---|---|---|---|
| Excel Open XML | .xlsx | ✓ | ✓ |
Salvarea este în prezent limitată la .xlsx. Biblioteca stochează și transferă formulele, dar nu funcționează ca un motor complet de calcul tabelar.
Open Source și Licențiere
Aspose.Cells FOSS pentru Java este lansat sub licența MIT. Sunteți liber să îl utilizați, modificați și distribuiți în proiecte personale, open-source și comerciale fără restricții. Codul sursă este disponibil la github.com/aspose-cells-foss/Aspose.Cells-FOSS-for-Java.