tessera_xlsx 0.2.3
tessera_xlsx: ^0.2.3 copied to clipboard
Excel (.xlsx) support for the tessera pivot-table engine: import a worksheet as a data source, export a cube or a plain table as a formatted worksheet. Pure Dart.
0.2.3 #
XlsxDataSource.sheets()lists the worksheets in order asXlsxSheetInforecords:name,hidden(statehidden or veryHidden),empty(no cell with a value — chart sheets, styled but blank sheets) andactive, the sheet the workbook was saved on (workbookView activeTab, else the first), which Excel opens on. For apps that offer a choice of sheets and pick a sensible first one.XlsxSheet.hiddenandXlsxWorkbook.activeSheetare the parts behind it.
0.2.2 #
- Fix: with
archive4.4.0 or later, exported files could not be opened by LibreOffice ("source file could not be loaded"): that version'sZipEncoderwrites every entry with a data descriptor which only the local header announces. The exporters now zip with a small writer of their own — CRC and sizes in the local headers, no data descriptors — that works the same with everyarchive4.x. Output is also deterministic now (fixed entry timestamps).
0.2.1 #
XlsxTableExporter: writes anExportTable— plain rows, or aFactTablethroughExportTable.ofFacts— as a filterable data table rather than a pivot: header row with an autofilter over the table (plus the_xlnm._FilterDatabasedefined name), frozen header, numbers, booleans and real Excel dates (date or date-time by the column's type), a number format per column fromExportColumn.numberFormator a native Excel code throughformatCodes, content-sized or fixed widths, header fill, fonts and borders from the engine'sTableExportTheme. Excel's limits are enforced: more than 1 048 575 rows or 16 384 columns throw anArgumentError, longer texts than 32 767 characters are cut; dates before 1900 are written as ISO text, and January–February 1900 get Excel's serials despite its 1900 leap-year bug.- The writer's text no longer carries characters XML 1.0 forbids (control
characters, unpaired surrogates, U+FFFE/U+FFFF): one such character in a
value made the whole sheet unreadable. Affects
XlsxCubeExportertoo. - Requires
tessera0.2.2 (ExportTable,TableExportTheme).
0.2.0 #
- Requires
tessera0.2.0; no changes of its own. Cubes with the new aggregates (statistical, cell formulas, "show values as") export like any other.
0.1.0 #
XlsxDataSource: streams one worksheet as typed rows (shared, inline and formula strings, numbers, dates by style, booleans), sheet selection, skipped rows, header-less sheets, row estimate from the sheet dimension. Sendable to the import isolate.XlsxCubeExporter: writes aCubeLayoutas a worksheet — merged "rotated L" group headers, one column per exported aggregate, level fills, bold summaries, thin borders, number format, content-sized columns, frozen panes; themed with the engine'sCubeExportTheme(numberFormatCode,freezeHeadersand the width bounds are exporter options), localized labels and overrides. Follows the axes' summary and subtotal positions — with both hidden the export is a flat table of leaf rows.- The exporter renders from the engine's
CubeGrid. example/main.dart: command-line round trip onexample/sales.xlsx.archiveconstraint widened to>=4.0.7 <5.0.0so the package resolves next topackage:pdf.