Introduktion
Aspose.Cells FOSS för Java erbjuder ett omfattande urval av kalkylbladsfunktioner för Java 17‑applikationer. Släppt under MIT‑licensen och distribuerat som en standard‑Maven‑artefakt täcker biblioteket allt från grundläggande arbetsboksskapande via typade cellvärden, rik formatering, datavalidering och AutoFilter — allt utan ett Microsoft‑Office‑beroende.
Detta inlägg går igenom huvudfunktionerna med fokuserade kodexempel hämtade från
den verifierade API-ytan. Alla klass- och metodnamn som visas nedan finns i biblioteket
och är tillgängliga i version 1.0.0.
Nyckelfunktioner
Arbetsbok och arbetsbladhantering
Klassen Workbook implementerar AutoCloseable så att den integreras smidigt med
Java try-with-resources-mönstret. Du kan skapa en tom arbetsbok, läsa in en befintlig.xlsx‑fil, byta namn på kalkylblad, lägga till eller ta bort blad, ange det aktiva bladet, och
kontrollera flikens synlighet.
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");
}
Skrivna cellvärden och formler
Klassen Cell accepterar typade värden via putValue() för String, int, double, boolean och LocalDateTime. Metoden getType() returnerar ett CellValueType‑enum‑värde — STRING, NUMBER, BOOLEAN, DATE_TIME eller FORMULA — vilket gör det enkelt att grena efter värdetyp utan att parsra strängar. Formelsträngar lagras med setFormula() och kommer att omräknas av Excel vid öppning.
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");
}
Cellformatering och stilar
Formatering tillämpas via Style-objektet som hämtas från cell.getStyle() och skrivs tillbaka med cell.setStyle(). Font-underobjektet exponerar setBold() och setColor(). HorizontalAlignment styr textjustering — LEFT, CENTER eller RIGHT. Anpassade talformat använder Excel-formatsträngar via style.setCustom(). Radhöjd och kolumnbredd justeras genom getRows().get(n).setHeight() och 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");
}
Datavalidering
Datavalideringsregler läggs till via sheet.getValidations().add(). Varje
Validation-objekt tar emot en ValidationType (t.ex. WHOLE_NUMBER, DECIMAL, LIST)
och en OperatorType (t.ex. BETWEEN, GREATER_THAN). Formelgränser lagras som
strängar via setFormula1() och 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");
}
AutoFilter
AutoFilters låter slutanvändare interaktivt filtrera data i Excel utan någon extra
konfiguration. Anropa ws.getAutoFilter().setRange() med ett A1-notation‑intervall för att
aktivera filterrubrikraden. Ytterligare filterkolumner och anpassade kriterier kan
definieras genom FilterColumn och 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");
}
Sidinställning och skydd av arbetsblad
Klassen PageSetup styr pappersstorlek, sidorientering och anpassning‑till‑sida‑inställningar för utskriftsklar output. Arbetsbladsskydd tillämpas via protect() med en WorksheetProtectionModel, vilket möjliggör att specifika celler förblir redigerbara medan resten låses. Hyperlänkar hanteras via HyperlinkCollection.
Snabbstart
Lägg till beroendet i din pom.xml:
<dependency>
<groupId>com.aspose</groupId>
<artifactId>cells-foss</artifactId>
<version>1.0.0</version>
</dependency>
Skapa en arbetsbok med alla huvudfunktioner på under 20 rader:
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");
}
}
}
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 fungerar inte som en fullständig kalkylbladsberäkningsmotor.
Öppen källkod & licensiering
Aspose.Cells FOSS for 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.