1. Produkter
  2.   Aspose.Cells
  3.   Cells FOSS for Java

Aspose.Cells FOSS til Java

Open-source Java 17-bibliotek til at oprette, indlæse, ændre og gemme Excel .xlsx-arbejdsbøger.

Aspose.Cells FOSS — Open Source Java‑regnearksbibliotek

Aspose.Cells FOSS for Java er et rent Java 17‑bibliotek, der gør det muligt for udviklere at oprette, indlæse, ændre og gemme Excel .xlsx‑projektmapper uden nogen kommerciel Aspose‑runtime‑afhængighed. Det eksponerer et rent offentligt API under pakken com.aspose.cells_foss og udgives under MIT‑licensen.

Biblioteket dækker den grundlæggende regnearks‑objektmodel: projektmapper, regneark, celler, formater og samlinger. Understøttede funktioner omfatter celleværdier (tekst, tal, boolesk, dato/tid og formel), celleformatering (fonte, kanter, udfyldninger, justering og talformater), AutoFilters, datavalidering, betinget formatering, hyperlinks, sammensatte celler, definerede navne, sideopsætning og beskyttelse af regneark.

Aspose.Cells FOSS for Java er bygget med Maven 3.9+ og har som mål Java 17+. Tilføj det til dit projekt via en enkelt Maven‑afhængighed. Gemning er i øjeblikket begrænset til .xlsx‑formatet.

Workbook and Worksheet Management

  • Create new workbooks with new Workbook() using the try-with-resources pattern
  • Access worksheets via getWorksheets().get(index) or by name
  • Rename worksheets with setName(), add and remove sheets, set the active sheet
  • Control worksheet visibility and tab colour via WorksheetViewModel

Who Uses This Feature

  • Generating report workbooks in server-side Java applications
  • Automating multi-sheet Excel document creation in batch pipelines
  • Building template-based spreadsheet generation workflows
  • Splitting or merging workbooks programmatically without Excel installed

Cell Values and Formulas

  • Set cell values with cell.putValue() for String, int, double, boolean, and LocalDateTime
  • Read the value type via CellValueType: STRING, NUMBER, BOOLEAN, DATE_TIME, or FORMULA
  • Store formula strings with cell.setFormula(); value type becomes FORMULA
  • Access a string representation of any cell value via cell.getStringValue()

Who Uses This Feature

  • Populating data tables and financial models in server-generated spreadsheets
  • Writing calculated fields that Excel will re-evaluate on open
  • Reading and converting cell data for downstream processing
  • Building typed data exports from Java domain objects

Cell Formatting and Styles

  • Apply fonts, borders, and fills via the Style class from cell.getStyle()
  • Control alignment via HorizontalAlignment (LEFT, CENTER, RIGHT) and AlignmentValue
  • Set number formats using style.setCustom() or built-in NumberFormat patterns
  • Adjust row height and column width with getRows().get(n).setHeight() and getColumns().get(n).setWidth()

Who Uses This Feature

  • Producing professionally formatted reports without Excel on the server
  • Highlighting data with bold fonts and custom number formats
  • Ensuring column widths fit exported data without manual adjustment
  • Applying consistent branding styles across generated worksheets

AutoFilter, Validation, and Conditional Formatting

  • Set an AutoFilter range with ws.getAutoFilter().setRange()
  • Add filter columns and custom filter criteria via FilterColumn and AutoFilterCustomFilter
  • Define data validation rules using ValidationType and OperatorType with sheet.getValidations().add()
  • Apply conditional formatting via FormatConditionCollection and FormatCondition

Who Uses This Feature

  • Building interactive data tables where end users apply filters in Excel
  • Enforcing numeric or list-based input constraints in shared spreadsheets
  • Highlighting out-of-range values automatically with conditional colour rules
  • Generating audit-ready worksheets with visible data-quality rules

Page Setup and Worksheet Protection

  • Configure print settings with PageSetup: paper size, orientation, fit-to-page, print area
  • Toggle gridlines and headings for printing via PrintOptionsModel
  • Protect worksheets and fine-tune permissions using WorksheetProtectionModel
  • Store hyperlinks in worksheets via Hyperlink and HyperlinkCollection

Who Uses This Feature

  • Generating print-ready invoices and reports from Java back-end services
  • Locking formula cells while allowing data entry in unprotected ranges
  • Embedding navigation links between sheets in generated workbooks
  • Creating standardised output that prints correctly without manual page setup

Create a Workbook, Write Values, and Save

Create a workbook, set cell values and styles, adjust row and column dimensions, and save to an .xlsx file using Workbook.save().

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 Main {
    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");
            sheet.getCells().get("B1").putValue(12500.75);
            Cell total = sheet.getCells().get("B1");
            Style style = total.getStyle();
            style.getFont().setBold(true);
            style.setCustom("#,##0.00");
            total.setStyle(style);
            sheet.getCells().getRows().get(0).setHeight(22.0);
            sheet.getCells().getColumns().get(1).setWidth(14.5);
            workbook.save("report.xlsx");
        }
    }
}

Load a Workbook with Diagnostics

Load an existing .xlsx file using LoadOptions to enable repair mode, then inspect load diagnostics before saving the modified workbook.

import com.aspose.cells_foss.LoadIssue;
import com.aspose.cells_foss.LoadOptions;
import com.aspose.cells_foss.Workbook;

public class LoadWorkbook {
    public static void main(String[] args) {
        LoadOptions options = new LoadOptions();
        options.setStrictMode(false);
        options.setTryRepairPackage(true);
        options.setTryRepairXml(true);
        try (Workbook workbook = new Workbook("input.xlsx", options)) {
            if (workbook.getLoadDiagnostics().hasRepairs()) {
                for (LoadIssue issue : workbook.getLoadDiagnostics().getIssues()) {
                    System.out.println(issue.getMessage());
                }
            }
            workbook.getDocumentProperties().setAuthor("cells-foss");
            workbook.save("output.xlsx");
        }
    }
}

Data Validation and Conditional Formatting

Add a whole-number validation rule and highlight qualifying cells with bold conditional formatting in a single workbook.

import com.aspose.cells_foss.CellArea;
import com.aspose.cells_foss.FormatCondition;
import com.aspose.cells_foss.FormatConditionCollection;
import com.aspose.cells_foss.FormatConditionType;
import com.aspose.cells_foss.OperatorType;
import com.aspose.cells_foss.Style;
import com.aspose.cells_foss.Validation;
import com.aspose.cells_foss.ValidationType;
import com.aspose.cells_foss.Workbook;
import com.aspose.cells_foss.Worksheet;

public class RulesExample {
    public static void main(String[] args) {
        try (Workbook workbook = new Workbook()) {
            Worksheet sheet = workbook.getWorksheets().get(0);
            int vi = sheet.getValidations().add(new CellArea(1, 0, 10, 1));
            Validation validation = sheet.getValidations().get(vi);
            validation.setType(ValidationType.WHOLE_NUMBER);
            validation.setOperator(OperatorType.BETWEEN);
            validation.setFormula1("1");
            validation.setFormula2("100");
            int cfIndex = sheet.getConditionalFormattings().add();
            FormatConditionCollection conditions = sheet.getConditionalFormattings().get(cfIndex);
            conditions.addArea(CellArea.createCellArea("B2", "B11"));
            int condIndex = conditions.addCondition(
                FormatConditionType.CELL_VALUE, OperatorType.BETWEEN, "1", "100");
            FormatCondition condition = conditions.get(condIndex);
            Style style = condition.getStyle();
            style.getFont().setBold(true);
            condition.setStyle(style);
            workbook.save("rules.xlsx");
        }
    }
}
  

Support og læringsressourcer

 Dansk