Introduksjon
Aspose.Cells FOSS for Java er et åpen kildekode Java 17-bibliotek som gjør det mulig for utviklere
å opprette, laste inn, endre og lagre Excel .xlsx arbeidsbøker helt på JVM — med
ingen Microsoft Office-installasjon, ingen native biblioteker, og ingen kommersiell Aspose runtime
avhengighet. Det offentlige API-et ligger under com.aspose.cells_foss-pakken og er
utgitt under MIT-lisensen, noe som gjør det egnet for personlige, åpen kildekode, og
kommersielle prosjekter også.
Biblioteket leveres som en standard Maven-artifakt og dekker den grunnleggende OOXML-regnearkobjektmodellen: arbeidsbøker, regneark, celler, stiler og samlinger. Det er bygget med Maven 3.9+ og retter seg mot Java 17+, og integreres naturlig i enhver moderne Java-byggpipeline.
Legg til avhengigheten i pom.xml, så er du klar til å generere eller behandle Excel‑arbeidsbøker fra en servlet, en batch‑jobb, en Lambda‑funksjon eller hvilken som helst annen Java‑serverside‑kontekst.
Nøkkelfunksjoner
Arbeidsbok- og regnearkadministrasjon
Workbook-klassen er inngangspunktet for alle regnearkoperasjoner. Den implementerer
AutoCloseable slik at den integreres sømløst med try-with-resources-mønsteret. Du kan
opprette nye arbeidsbøker, laste inn eksisterende .xlsx‑filer, legge til og fjerne regneark, gi ark nye navn med
setName(), angi det aktive arket og kontrollere fanens synlighet.
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");
}
Celleverdier og formler
Klassen Cell støtter typet verdilagring via putValue() for strenger, heltall,
dobler, boolske og LocalDateTime‑verdier. Formelstrenger lagres med
setFormula() og vil bli rekalkulert av Excel ved åpning. Verditypen eksponeres
gjennom CellValueType — STRING, NUMBER, BOOLEAN, DATE_TIME eller 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");
}
Celleformatering og stiler
Formatering brukes gjennom Style‑klassen, hentet fra cell.getStyle() og skrevet tilbake med cell.setStyle(). Du kan konfigurere fet og farge på Font, bruke HorizontalAlignment, og angi egendefinerte tallformatstrenger via style.setCustom(). Radhøyde og kolonnebredde styres gjennom getRows().get(n).setHeight() og 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");
}
Datavalidering og betinget formatering
Datavalideringsregler legges til gjennom sheet.getValidations().add(). Hvert Validation‑objekt inneholder en ValidationType (f.eks. WHOLE_NUMBER), en OperatorType (f.eks. BETWEEN) og formelstrenger for grensene. Betinget formatering legges til gjennom sheet.getConditionalFormattings().add(), som returnerer en FormatConditionCollection der du spesifiserer celleområder og betingelser.
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");
}
AutoFilter og sideoppsett
AutoFilters konfigureres ved å kalle ws.getAutoFilter().setRange() med en A1-notasjonsområde‑streng. PageSetup‑objektet styrer papirstørrelse, orientering og tilpasning‑til‑side‑innstillinger for utskriftsklar output. Arbeidsarkbeskyttelse påføres gjennom protect() med en WorksheetProtectionModel.
Rask start
Legg til Maven‑avhengigheten i pom.xml:
<dependency>
<groupId>com.aspose</groupId>
<artifactId>cells-foss</artifactId>
<version>1.0.0</version>
</dependency>
Opprett en arbeidsbok, fyll inn celler, bruk formatering, og lagre:
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");
}
}
}
Støttede formater
| Format | Filtype | Lese | Skrive |
|---|---|---|---|
| Excel Open XML | .xlsx | ✓ | ✓ |
Lagring er for øyeblikket begrenset til .xlsx. Biblioteket lagrer og gjør round‑trip på formler, men det er ikke en fullstendig regnearkberegningsmotor.
Open Source og lisensiering
Aspose.Cells FOSS for Java er utgitt under MIT‑lisensen. Du er fri til å bruke, endre og distribuere den i personlige, åpen kildekode‑ og kommersielle prosjekter uten restriksjoner. Kildekoden er tilgjengelig på github.com/aspose-cells-foss/Aspose.Cells-FOSS-for-Java.