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ó CellValueTypeSTRING, 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(). Cada
Validation 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

FormatExtensióLecturaEscriptura
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.


Començar