Skip to content

v1.0.0 — Initial Release

Choose a tag to compare

@chitralabs chitralabs released this 13 Feb 06:30
· 63 commits to main since this 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 APISheetz.read(), Sheetz.write(), Sheetz.stream(), Sheetz.validate()
  • Three formats — XLSX (Excel 2007+), XLS (Excel 97-2003), and CSV with auto-detection
  • Annotation mapping@Column with 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 processingstream().batch(1000).forEach(batch -> db.bulkInsert(batch))
  • Built-in validation — Per-row error reporting with row number, column name, value, and root cause
  • Fluent buildersReaderBuilder and WriterBuilder for sheet selection, header row, auto-sizing, freeze panes
  • Multi-sheet workbooksSheetz.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 productName matches Product 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