excel_community 2.1.8
excel_community: ^2.1.8 copied to clipboard
A community fork of the excel library to read, create, and edit XLSX files. Cross-platform, high-performance, and supports charts, borders, and formulas.
Changelog #
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
2.1.8 - 2026-07-12 #
Added #
- Pivot Table Add Official support and usage instructions for Pivot Tables.
2.1.7 - 2026-07-09 #
Added #
- Show Icon show excel community logo.
- Chage Tags update tags to excel_community.
2.1.6 - 2026-07-06 #
Fixed #
- SST parsing: Fixed the SST parsing logic to correctly read the shared strings from the SST stream.
2.1.5 - 2026-07-06 #
Added #
- Legacy XLS File Support: Added read-only support for parsing legacy
.xls(Excel 97-2003) workbooks using a custom, clean-room OLE2 and BIFF8 parser implemented from scratch in pure Dart. It decodes sheet names, row/column dimensions, and cell values (TextCellValue,IntCellValue,DoubleCellValue), with transparent fallback insideExcel.decodeBytesandExcel.decodeBufferusing signature magic bytes detection.
2.1.4 - 2026-07-03 #
- Improve documentation
2.1.3 - 2026-07-02 #
Added #
- Hidden Columns & Rows: New
Sheet.setColumnHidden(index, hidden),Sheet.isColumnHidden(index),Sheet.setRowHidden(index, hidden), andSheet.isRowHidden(index)methods to toggle and query visibility of columns/rows. Full serialization to OOXML<col hidden="1">and<row hidden="1">on save, and parsing from XLSX on decode. - Flutter example app: New
Hidden Columns & Rowssidebar demo displaying a multi-sheet spreadsheet where some sheets contain hidden elements and others are fully visible.
Fixed #
- Cleaned Template: Removed stale empty drawing (
xl/drawings/drawing1.xml) and its worksheet relationship from the base sheet template base64 string insideconstants.dart. This ensures newly created worksheets (such asSheet2) that have charts do not bleed/render their charts onto the first sheet (Sheet1) of the workbook, whilst preserving pre-existing charts when editing loaded files.
2.1.2 - 2026-06-29 #
Fixed #
-
Multi-Sheet Freeze Panes: Added hidden columns to the Staff Salaries and Executive Perks sheets, with corresponding data removed. Now only the Public Directory sheet is visible, while the other two remain hidden (but fully functional) in the generated XLSX file.
-
Multi-Sheet Charts: Fixed chart issue in multi-sheet workbooks.
2.1.1 - 2026-06-29 #
Added #
- Freeze Panes: New
Sheet.frozenRowsandSheet.frozenColumnssetters/getters (nullableint?). Each sheet in a workbook can carry its own independent freeze combination (rows+cols, rows only, cols only, or none). Values are serialized as OOXML-compliant<pane>elements on save and fully restored on decode. - Examples:
example/excel_freeze_panes.dart(single-sheet samples) andexample/excel_freeze_panes_multisheet.dart(multi-sheet workbook with per-sheet freezes and round-trip assertions). - Flutter example app: New
Freeze PanesandMulti-Sheet Freeze Panessidebar sections, with matching helpers and code snippets. - Tests: Re-enabled
test/freeze_panes_test.dartcovering the four freeze configurations (4/4 passing). - Documentation: README "Features" and "Usage" sections now document the freeze-pane API.
Fixed #
<sheetView>writer: Only the first sheet in the workbook carriestabSelected="1"(Excel requires exactly one active tab).<selection>entries andactivePaneare now chosen dynamically based on the actual split configuration, so Excel no longer shows the "Reparaciones / Recover as much as we can" dialog on multi-sheet workbooks.
2.1.0 - 2026-06-28 #
Added #
- Sheet Protection: Added full programmatic support for worksheet protection, including password hashing (legacy 16-bit XOR algorithm) and custom protection settings (objects, scenarios, format cells, select locked/unlocked cells, etc.).
- Cell Style Locking: Exposed
lockedandhiddenboolean properties onCellStyleto control cell editability/visibility under sheet protection. - Worksheet Protection Parsing & Serialization: Added parser and serializer rules to correctly process and serialize worksheet protection states and cell locking XML elements, fully compatible with Microsoft Excel and Google Sheets.
2.0.2 - 2026-06-13 #
Fixed #
- Wasm: Fix save excel file.
- Lint issues: Fix lint issues.
- XML parsing pipeline: Refactored to use a streaming-based approach with iterative DOM building instead of full recursive parsing.
- Performance: Optimized cell coordinate parsing and XML value extraction for better performance.
- Memory usage: Reduced memory usage during XML parsing by avoiding full recursive parsing.
2.0.1 - 2026-06-11 #
Fixed #
- Cell Style: Fix underline and strikethrough preservation bug in CellStyle constructor and parsing logic.
- Cell Style: Add strikethrough text style support.
- Cell Style: Add comprehensive tests for underline and strikethrough preservation.
- Cell Style: Update Flutter example with underline and strikethrough demos.
2.0.0+1 - 2026-06-11 #
Improved #
- XML parsing pipeline: Refactored to use a streaming-based approach with iterative DOM building instead of full recursive parsing.
- Performance: Optimized cell coordinate parsing and XML value extraction for better performance.
- Memory usage: Reduced memory usage during XML parsing by avoiding full recursive parsing.
Fixed #
- XML parsing: NullPointerException: Fixed NullPointerException in
_XfCache._readXfsmethod when processing shared strings with rich text formatting.
1.2.0 - 2026-06-04 #
Fixed #
- Chart XML — series name (
c:tx): The series name inside<c:tx>was incorrectly wrapped in<c:strLit>, which is not a valid child according to the OOXMLCT_SerTxschema (§21.2.2.174). It now correctly uses<c:v>directly, fixing broken/missing series names when opening generated files in Microsoft Excel. - Chart XML — element order in
CT_Chart:<c:autoTitleDeleted>was emitted before<c:title>, violating the required sequence defined in OOXML §21.2.2.29. The order is now<c:title>→<c:autoTitleDeleted>, fixing chart validation errors in strict Excel readers. standard_21format code: Was'h:mm:dd'(invalid), corrected to'h:mm:ss'per ECMA-376 §18.8.30.standard_40format code: Was'#,##0.00;[Red](#,#)'(truncated), corrected to'#,##0.00;[Red](#,##0.00)'.
Added #
- Complete OOXML standard number format table (ECMA-376 §18.8.30): added previously missing built-in format IDs:
- Currency formats
standard_5–standard_8($#,##0,$#,##0.00with normal/red negative variants). - Reserved/fallback formats
standard_23–standard_26(mapped toGeneral). - CJK locale date/time formats
standard_27–standard_36. - Accounting with fill-character formats
standard_41–standard_44(_(* …)/_($* …)patterns).
- Currency formats
- Parser refactor: split monolithic
parse.dartintostyles_parser.dart(style/XF resolution) andworksheet_parser.dart(row/cell parsing) for improved maintainability.
1.1.4 - 2026-05-11 #
Added #
- Image embedding support: embed PNG, JPEG, GIF, BMP, TIFF, WMF, EMF, SVG, WebP, and ICO images into worksheets.
ExcelImagemodel class withfromFilefactory for automatic type detection from file extension.ExcelImageTypeenum withfromExtensionfactory covering 10 image formats.ImageAnchorclass withfromPixelsfactory (96 DPI) and direct EMU constructor.SheetImagesextension onSheetexposingaddImage()andimagesgetter._ImageManagersave-pipeline component that writes OOXML drawing, relationship, and media files.- New example
example/excel_images.dartdemonstrating PNG and SVG embedding. - README "Images" section with full usage examples and supported-formats table.
1.1.3 - 2026-05-07 #
- Fix Excel Community logo.
1.1.2 - 2026-05-07 #
- Added logo for the package in the README.md.
1.1.1 - 2026-05-07 #
- Add Excel Community logo to pub.dev.
1.1.0 - 2026-05-06 #
- Update logo to open source version.
- Improve package README.md and add a preview image.
- Update package metadata for pub.dev.
- Fix chart x-axis labels for scatter charts.
1.0.10 - 2026-05-02 #
- Fix Losing Cell styling when setting a new value to a cell.
1.0.9 - 2026-04-18 #
- Fix rich-text bold/italic/underline parsing per ECMA-376
1.0.8 - 2026-04-07 #
- add funding text
1.0.7 - 2026-04-07 #
- Fix underline preservation bug in CellStyle constructor and parsing logic.
- Add strikethrough text style support.
- Add comprehensive tests for underline and strikethrough preservation.
- Update Flutter example with underline and strikethrough demos.
1.0.6 - 2026-03-17 #
- Fix color accessibility.
1.0.5 - 2026-03-17 #
- Apply clean code fix minors bugs.
1.0.4 - 2026-03-15 #
- Apply Clean Architecture in Save class.
- Refactor Sheet class.
- Refactor Color class.
- Refactor Border class.
- Refactor Formula class.
- Refactor NumberFormat class.
1.0.3 - 2026-03-15 #
- Renamed main example to
example/main.dartfor better visibility on pub.dev. - Significantly increased documentation coverage (>28%) across the public API.
- Added detailed documentation for all chart types and cell value classes.
1.0.2 - 2026-03-15 #
1.0.1 - 2026-03-14 #
- Reorganized tests: moved manual debug scripts to
test/manual/. - Fixed static analysis errors in
parse.dartandsave_file.dart. - Improved package metadata for pub.dev.
