Repository navigation
Highlights
- OOXML password protection — file-level encryption at
SheetInput/SheetOutput.withPassword. DefaultEncryptionSpec.strong()(AES-256 + SHA-512 + agile mode); presets and custom builder for cipher / hash / mode (#185) - Sheet-level features in
GridConfigurer—protectSheet(password)(legacy XOR password),displayGridlines(boolean),zoom(int percent),rightToLeft(boolean)(#186, #187) - Column-position offset —
@DataColumn(shift = N)and@DataColumnGroup(shift = N)leave N blank columns before the annotated field / group; both read and write (#182) SpreadsheetSchemaminimal public interface — six query methods (size,column(int),column(String),columnIndex(String),columnName(int),columnNames()); internal dispatch moved toSpreadsheetSchemaImpl(#183)
Breaking Changes
BigDecimal/BigIntegeremit as numeric cells by default. 1.7.x forced string cells. Opt-in string via@JsonFormat(shape = STRING)(#180)SpreadsheetSchemais now aninterface; the public constructor is removed.new SpreadsheetSchema(...)will not compile. Internal methods (resolve,findColumn,getDataRow,configureSheet, etc.) moved toSpreadsheetSchemaImplinschema.internal— third-party callers must cast (#183)SpreadsheetSchemamethod renames:columnCount→size,getColumn(int)→column(int),columnIndexByName→columnIndex(#183)SpreadsheetSchema.getOriginRowremoved (#183)
Improvements
- POI writer pins a base
CellStyleon cells, fixings="0"attribute emission on older POI versions (#184) BigDecimal/BigIntegerround-trip coverage inBigNumberCellTypeTest(#181)
Documentation
- GUIDE: File-Level Encryption chapter, Sheet-Level Features section extended (#185, #186, #187)
- ARCHITECTURE: POI Boundary table extended (#185, #186, #187)
- DESIGN: sheet/workbook protection row removed from "Where the Library Stops" (#185)
- BENCHMARK: 1.8.0 numbers refreshed (#184)
Full Changelog: v1.7.1...v1.8.0