tink-crypto /
tink
Tink is a multi-language, cross-platform, open source library that provides cryptographic APIs that are secure, easy to use correctly, and hard(er) to misuse.
40/100 healthLoading repository data…
aspose-cells-foss / repository
Open-source Java library for creating, reading, modifying, and converting Excel files programmatically.
A transparent discovery signal based on current public GitHub metadata.
This score does not audit code, security, maintainers, documentation quality, or suitability. Verify the repository and its current documentation before adoption.
Aspose.Cells FOSS for Java is a Java 17 spreadsheet library for creating, loading, modifying, and saving Excel .xlsx workbooks.
It exposes a user-facing API in com.aspose.cells_foss and keeps OOXML packaging, XML mapping, and XLSX serialization inside this repository.
Add the following dependency to your pom.xml:
<dependency>
<groupId>org.aspose</groupId>
<artifactId>aspose-cells-foss</artifactId>
<version>1.0.0</version>
</dependency>
AUTO, XLSXXLSXtest scope only for compatibility checksThe library stores and round-trips formulas, but it is not a full spreadsheet calculation engine.
ChartCollection.add(); loaded charts are preserved verbatim across load/saveAutoShapeType); complex shapes loaded from XLSX are preserved verbatimWorkbookProtectionWorkbookViewCalculationProperties#N/A, #VALUE!, #REF! and other error results are loaded, stored, and saved with the correct t="e" cell typeworkbookPr attributesNumberFormat utility for looking up and resolving built-in Excel format codes.xlsxRequirements:
Common commands:
mvn compile
mvn test
mvn clean package
mvn javadoc:javadoc # generates docs/apidocs/index.html
Create a workbook, write values, style a cell, and save it:
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 an existing workbook with options and inspect diagnostics:
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");
}
}
}
Add data validation and conditional formatting:
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 validationIndex = sheet.getValidations().add(new CellArea(1, 0, 10, 1));
Validation validation = sheet.getValidations().get(validationIndex);
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 conditionIndex = conditions.addCondition(
FormatConditionType.CELL_VALUE,
OperatorType.BETWEEN,
"1",
"100");
FormatCondition condition = conditions.get(conditionIndex);
Style style = condition.getStyle();
style.getFont().setBold(true);
condition.setStyle(style);
workbook.save("rules.xlsx");
}
}
}
src/main/java/com/aspose/cells_foss/
Public API surface: Workbook, Worksheet, Cell, Style, collections, enums, load/save options
src/main/java/com/aspose/cells_foss/core/
Internal workbook, worksheet, style, validation, metadata, and packaging models
src/main/java/com/aspose/cells_foss/packaging/
OOXML package and relationship abstractions
src/main/java/com/aspose/cells_foss/xml/
XML mappers and parsing helpers
src/main/java/com/aspose/cells_foss/validation/
Workbook validation messages and validation helpers
src/test/java/com/aspose/cells_foss/
Scenario-driven integration tests for workbook behavior and XLSX round-tripping
src/test/java/com/aspose/cells_foss/unit/
Fast, focused unit tests for individual API classes without XLSX I/O
docs/apidocs/
Generated HTML Javadoc for the public API. Run `mvn javadoc:javadoc` to regenerate.
Representative test areas include:
src/test/java/com/aspose/cells_foss/unit/com.aspose.cells_fossREADME.md, Agents.md, and tests togetherThis repository includes the MIT license at License/LICENSE.txt.
For bug reports, feature requests, and project questions, use the GitHub issue tracker:
Selected from shared topics, language and repository description—not editorial ratings.
tink-crypto /
Tink is a multi-language, cross-platform, open source library that provides cryptographic APIs that are secure, easy to use correctly, and hard(er) to misuse.
40/100 healthlangchain4j /
LangChain4j is an idiomatic, open-source Java library for building LLM-powered applications on the JVM. It offers a unified API over popular LLM providers and vector stores, and makes implementing tool calling (including MCP support), agents and RAG easy. It integrates seamlessly with enterprise Java frameworks like Quarkus and Spring Boot.
89/100 healthgraphhopper /
Open source routing engine for OpenStreetMap. Use it as Java library or standalone web server.
91/100 healthLibrePDF /
OpenPDF is an open-source Java library for creating, editing, rendering, and encrypting PDF documents, as well as generating PDFs from HTML. It is licensed under the LGPL and MPL.
80/100 healthTwitter4J /
Twitter4J is an open-source Java library for the Twitter API.
86/100 healthigniterealtime /
A modular and portable open source XMPP client library written in Java for Android and Java (SE) VMs
89/100 health