v1.0.0 — Initial Release
Sheetz v1.0.0 — Initial Release
The first public release of Sheetz, a high-performance Excel and CSV processing library for Java.
Highlights
- One-liner API —
Sheetz.read(),Sheetz.write(),Sheetz.stream(),Sheetz.validate() - Three formats — XLSX (Excel 2007+), XLS (Excel 97-2003), and CSV with auto-detection
- Annotation mapping —
@Columnwith custom headers, required fields, defaults, date formats, custom converters, ignore, and column width - 19 built-in type converters — Primitives, BigDecimal, BigInteger, LocalDate, LocalDateTime, LocalTime, Instant, ZonedDateTime, UUID, Enum, and more
- True streaming — SAX-based XLSX parsing with constant ~10MB memory for million-row files
- Batch processing —
stream().batch(1000).forEach(batch -> db.bulkInsert(batch)) - Built-in validation — Per-row error reporting with row number, column name, value, and root cause
- Fluent builders —
ReaderBuilderandWriterBuilderfor sheet selection, header row, auto-sizing, freeze panes - Multi-sheet workbooks —
Sheetz.workbook().sheet("A", listA).sheet("B", listB).write("report.xlsx") - Thread-safe — Global configuration in AtomicReference, safe for concurrent use
- Fuzzy column matching — 3-tier resolution (exact → case-insensitive → normalized) so
productNamematchesProduct Name - XXE protection — Secure XML parsing with external entities disabled
- Java Module System (JPMS) support
Installation
<dependency>
<groupId>io.github.chitralabs.sheetz</groupId>
<artifactId>sheetz-core</artifactId>
<version>1.0.0</version>
</dependency>Full changelog: https://github.com/chitralabs/sheetz/blob/main/CHANGELOG.md