Skip to content

Implemented: real POI-based .xlsx export via a new screenxlsx view-handler type (OFBIZ-13567) - #1899

Merged
mridulpathak merged 1 commit into
apache:trunkfrom
mridulpathak:OFBIZ-13567
Sep 12, 2026
Merged

Implemented: real POI-based .xlsx export via a new screenxlsx view-handler type (OFBIZ-13567)#1899
mridulpathak merged 1 commit into
apache:trunkfrom
mridulpathak:OFBIZ-13567

Conversation

@mridulpathak

Copy link
Copy Markdown
Contributor

Adds a new screenxlsx view-handler type that renders screens as genuine binary .xlsx workbooks through Apache POI, additive alongside the existing screenxls/screencsv types, whose behavior is unchanged.

  • ScreenXlsxViewHandler drives the existing, unmodified ScreenRenderer/FormRenderer widget-tree walk through two new renderer implementations
  • XlsxFormRenderer writes typed POI cells for form/grid data: NUMERIC for currency/accounting-number fields, real Excel dates for date/date-time fields, STRING otherwise, always falling back to STRING on any unparseable value
  • XlsxScreenStringRenderer is a no-op renderer that lets the screen tree walk complete, since only form/grid content is in scope
  • New poi-ooxml Gradle dependency supplies the XSSF/SXSSF classes core POI lacks
  • New WebtoolsLayoutDemoXlsx demo view-map proves the mechanism end-to-end alongside its existing screenxls counterpart, producing a real, correctly-typed multi-sheet workbook
  • Includes unit test coverage for the renderer's row/column/cell-typing logic
  • Companion PR on ofbiz-plugins (Added: screenxlsx demo view-maps and UI links for the example plugin (OFBIZ-13567) ofbiz-plugins#395) adds matching demo view-maps and UI entry points on the example plugin

…ndler type (OFBIZ-13567)

Adds a new screenxlsx view-handler type that renders screens as genuine binary .xlsx workbooks through Apache POI, additive alongside the existing screenxls/screencsv types.

- ScreenXlsxViewHandler drives the existing, unmodified ScreenRenderer/FormRenderer widget-tree walk through two new renderer implementations
- XlsxFormRenderer writes typed POI cells for form/grid data: NUMERIC for currency/accounting-number fields, real Excel dates for date/date-time fields, STRING otherwise, always falling back to STRING on any unparseable value
- XlsxScreenStringRenderer is a no-op renderer that lets the screen tree walk complete, since only form/grid content is in scope
- New poi-ooxml Gradle dependency supplies the XSSF/SXSSF classes core POI lacks
- New WebtoolsLayoutDemoXlsx demo view-map proves the mechanism end-to-end alongside its existing screenxls counterpart, producing a real, correctly-typed multi-sheet workbook
- New CommonViewAsXlsx UI label for the matching entry points added on the plugins/example side
- Includes unit test coverage for the renderer's row/column/cell-typing logic
@mridulpathak
mridulpathak merged commit bd4bff1 into apache:trunk Sep 12, 2026
7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant