Introducció
Aspose.Cells FOSS per a Java ofereix un conjunt complet de capacitats de fulls de càlcul per a aplicacions Java 17. Lliurat sota la llicència MIT i distribuït com a artefacte Maven estàndard, la biblioteca cobreix tot, des de la creació bàsica de llibres de treball fins a valors de cel·la tipats, formatació rica, validació de dades i AutoFilter — tot sense cap dependència de Microsoft Office.
Aquesta publicació recorre les principals àrees de funcionalitat amb exemples de codi centrats extrets de
la superfície d’API verificada. Tots els noms de classe i mètode mostrats a continuació existeixen a la biblioteca
i estan disponibles a la versió 1.0.0.
Característiques clau
Gestió de llibre de treball i full de càlcul
La classe Workbook implementa AutoCloseable de manera que s’integra netament amb el
patró Java try-with-resources. Podeu crear un llibre de treball en blanc, carregar un fitxer
.xlsx existent, canviar el nom dels fulls de treball, afegir o eliminar fulls, establir el full actiu i
controlar la visibilitat de les pestanyes.
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");
}
Valors de cel tipats i fórmules
La classe Cell accepta valors tipats a través de putValue() per a String, int, double,
boolean i LocalDateTime. El mètode getType() retorna un valor d’enumeració CellValueType —
STRING, NUMBER, BOOLEAN, DATE_TIME o FORMULA — facilitant la ramificació segons el tipus de valor sense analitzar cadenes. Les cadenes de fórmula s’emmagatzemen amb setFormula() i seran recalculades per Excel en obrir.
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");
}
Formatació de cel·les i estils
El format s’aplica a través de l’objecte Style recuperat de cell.getStyle() i escrit de nou amb cell.setStyle(). L’subobjecte Font exposa setBold() i setColor(). HorizontalAlignment controla l’alineació del text — LEFT, CENTER o RIGHT. Els formats numèrics personalitzats utilitzen cadenes de format d’Excel via style.setCustom(). L’alçada de fila i l’amplada de columna s’ajusten a través de 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");
}
Validació de dades
Les regles de validació de dades s’afegeixen a través de sheet.getValidations().add(). CadaValidation objecte pren un ValidationType (p. ex. WHOLE_NUMBER, DECIMAL, LIST)
i un OperatorType (p. ex. BETWEEN, GREATER_THAN). Els límits de la fórmula s’emmagatzemen com a
cadenes a través de 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");
}
Filtre automàtic
AutoFilters permeten als usuaris finals filtrar dades de manera interactiva a Excel sense cap configuració
addicional. Crida ws.getAutoFilter().setRange() amb un interval en notació A1 per
habilitar la fila de capçalera del filtre. Columnes de filtre addicionals i criteris personalitzats es
poden definir mitjançant 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");
}
Configuració de pàgina i protecció del full de càlcul
La classe PageSetup controla la mida del paper, l’orientació de la pàgina i la configuració d’ajust a la pàgina per a la sortida preparada per imprimir. La protecció del full de càlcul s’aplica mitjançant protect() amb un WorksheetProtectionModel, permetent que cel·les específiques romanguin editables mentre es bloqueja la resta. Els hiperenllaços es gestionen mitjançant HyperlinkCollection.
Inici ràpid
Afegeix la dependència al teu pom.xml:
<dependency>
<groupId>com.aspose</groupId>
<artifactId>cells-foss</artifactId>
<version>1.0.0</version>
</dependency>
Creeu un llibre de treball amb totes les funcions principals en menys de 20 línies:
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");
}
}
}
Formats compatibles
| Format | Extensió | Lectura | Escriptura |
|---|---|---|---|
| Excel Open XML | .xlsx | ✓ | ✓ |
Actualment, l’estalvi està limitat a .xlsx. La biblioteca emmagatzema i transmet fórmules, però no funciona com un motor complet de càlcul de fulls de càlcul.
Codi obert i llicències
Aspose.Cells FOSS for Java es publica sota la llicència MIT. Ets lliure d’utilitzar-lo, modificar-lo i distribuir-lo en projectes personals, de codi obert i comercials sense restriccions. El codi font està disponible a github.com/aspose-cells-foss/Aspose.Cells-FOSS-for-Java.