Introduktion
Aspose.Cells FOSS för Java är ett open-source Java 17-bibliotek som möjliggör för utvecklare
att skapa, läsa in, ändra och spara Excel .xlsx arbetsböcker helt på JVM — med
ingen Microsoft Office-installation, inga inhemska bibliotek och ingen kommersiell Aspose runtime‑beroende.
Det offentliga API:et finns under com.aspose.cells_foss paketet och är
släppt under MIT-licensen, vilket gör det lämpligt för personliga, open-source och
kommersiella projekt lika.
Biblioteket levereras som en standard Maven‑artefakt och täcker den centrala OOXML‑kalkylblad objektmodellen: arbetsböcker, kalkylblad, celler, stilar och samlingar. Det är byggt med Maven 3.9+ och riktar sig mot Java 17+, vilket integreras naturligt i alla moderna Java‑build pipeline.
Lägg till beroendet i din pom.xml så är du redo att generera eller bearbeta Excel‑arbetsböcker från en servlet, ett batch‑jobb, en Lambda‑funktion eller någon annan Java‑serversidig kontext.
Nyckelfunktioner
Arbetsbok och arbetsbladshantering
Klassen Workbook är ingångspunkten för alla kalkylbladsoperationer. Den implementerarAutoCloseable så att den integreras smidigt med try-with-resources-mönstret. Du kan
skapa nya arbetsböcker, läsa in befintliga .xlsx‑filer, lägga till och ta bort arbetsblad, byta namn på
blad med setName(), ange det aktiva bladet och kontrollera flikens 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");
}
Cellvärden och formler
Cell‑klassen stöder typad värdelagring via putValue() för strängar, heltal,
dubbelvärden, booleska värden och LocalDateTime‑värden. Formelsträngar lagras med
setFormula() och kommer att beräknas om av Excel vid öppning. Värdetypen exponeras
genom 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");
}
Cellformatering och stilar
Formatering tillämpas via klassen Style, hämtas från cell.getStyle() och skrivs tillbaka med cell.setStyle(). Du kan konfigurera fetstil och färg på Font, tillämpa HorizontalAlignment och ange anpassade talformatsträngar via style.setCustom(). Radhöjd och kolumnbredd styrs genom getRows().get(n).setHeight() och 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 och villkorsstyrd formatering
Datavalideringsregler läggs till via sheet.getValidations().add(). Varje Validation‑objekt innehåller en ValidationType (t.ex. WHOLE_NUMBER), en OperatorType (t.ex. BETWEEN) och formelsträngar för gränserna. Villkorsstyrd formatering läggs till via sheet.getConditionalFormattings().add(), vilket returnerar en FormatConditionCollection där du specificerar cellområden och villkor.
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 och Sidinställning
AutoFilter konfigureras genom att anropa ws.getAutoFilter().setRange() med en A1‑notation
intervallsträng. PageSetup‑objektet styr pappersstorlek, orientering och anpassning‑till‑sida
inställningarna för utskriftsklar output. Arbetsblads skydd tillämpas via protect() med
en WorksheetProtectionModel.
Snabbstart
Lägg till Maven-beroendet i ditt pom.xml:
<dependency>
<groupId>com.aspose</groupId>
<artifactId>cells-foss</artifactId>
<version>1.0.0</version>
</dependency>
Skapa en arbetsbok, fyll i celler, tillämpa formatering och spara:
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ödda format
| Format | Filändelse | Läs | Skriv |
|---|---|---|---|
| Excel Open XML | .xlsx | ✓ | ✓ |
Sparande är för närvarande begränsat till .xlsx. Biblioteket lagrar och vidarebefordrar formler, men det är inte en fullständig kalkylbladsberäkningsmotor.
Öppen källkod & licensiering
Aspose.Cells FOSS för Java är släppt under MIT-licensen. Du får fritt använda, modifiera och distribuera den i personliga, öppen källkod och kommersiella projekt utan restriktioner. Källkoden finns tillgänglig på github.com/aspose-cells-foss/Aspose.Cells-FOSS-for-Java.