Plug-in (Function & Smart Service)Free

Advance Excel Export

by Low Code Minds

Description

Many processes need to send data out of Appian for someone to review or correct, then bring it back in. Doing that with an ordinary Excel export is risky: the recipient can overwrite identifiers, reorder columns, rename sheets or delete rows, and the returned file can no longer be reconciled against its source records.

Advance Excel Export solves that by producing a controlled workbook. Business users edit only the fields they are meant to edit; identity columns, reference data, headers and the sheet structure itself are locked, so the file that comes back still matches the one that went out and can be safely re-imported or audited.

Typical uses include controlled data collection, where a workbook of reference records is distributed with only a few fields open for completion; offline review and sign-off by reviewers who work outside Appian; multi-dataset reporting, where several related queries are combined into one workbook with a dataset per sheet in a single process step; and audit extracts, where a tamper-evident snapshot is needed.

Features

  • Multi-sheet export - up to 20 SQL queries in a single call, each writing to its own named sheet in one workbook.
  • Column-level protection - nominated columns stay editable; every other cell, including all headers, is locked. Column names match case-insensitively and apply across all sheets by default, and an optional sheetName:columnName prefix scopes an entry to a single sheet.
  • Structural lock-down - row and column insertion and deletion are blocked on every sheet, and the workbook structure is locked so sheets cannot be added, renamed, moved, hidden or deleted.
  • Password-gated protection - a required Excel Password controls removal of sheet and workbook protection, enforced against a strength policy of at least 8 characters with a lowercase letter, an uppercase letter, a digit and a special character.
  • SQL injection hardening - queries are validated as SELECT-only with no comments, semicolons, UNION clauses or nested subqueries, and execute over a read-only database connection as defence in depth.
  • Configurable formatting - custom Excel number formats for DATE and TIMESTAMP columns (defaults dd-MM-yyyy and dd-MM-yyyy HH:mm:ss) and a configurable header fill colour for locked columns.
  • Dynamic column width - each column is sized from its header text rather than a single fixed width.
  • Native cell types - BIT and BOOLEAN columns are written as real Excel boolean cells, usable by formulas and filters.
  • Row-count safeguard - each sheet is capped at 100,000 rows; a runaway query is truncated with a logged warning instead of growing the file without bound.
  • Streaming write - results stream into the file with flat memory usage.
  • Safe error handling - technical failure detail goes to the server log only; the process receives a generic error message and an exception.

Requires Appian 24.4 or later and a relational data source exposed through a JNDI name.

Plug-in modules Smart Services: protectedExcelExport

Release notes

Version 1.3.0

  • Added explicit Excel number formats for integer and decimal columns and for text columns, which previously fell back to Excel's “General” format for anything other than DATE/TIMESTAMP. Cosmetic fix only — column values were always correct; no change to inputs, outputs or behaviour.
Version history (3)

1.2.1

Version 1.2.1 - maintenance release.

  • Fixed two security vulnerabilities in third-party libraries used internally by the plug-in.
  • No change to inputs, outputs or behaviour. Process models built against 1.1.0 or 1.2.0 need no modification, and upgrading is recommended for all users.

1.2.0

New Functionality :

  • Worksheet editing has been restricted.
  • Users can no longer create new worksheets.
  • Renaming or deleting existing worksheets has been disabled.

Behavior Changes : The ExcelPassword format has been updated. The password must:

  • Be at least 8 characters long.
  • Include at least 1 uppercase letter.
  • Include at least 1 lowercase letter.
  • Include at least 1 digit.
  • Include at least 1 special character.

1.1.0

Renamed from "Excel Export" to "Protected Excel Export" (new smart-service key: protectedExcelExport).

New Functionality:

Sheet-scoped editable columns: use sheetName:columnName syntax to unlock a column on one specific sheet, in addition to existing global (all-sheets) matching. Validation added to catch unknown sheet names referenced in editableColumns.

Behavior Changes:

ExcelPassword is now required. It no longer encrypts the file for opening — the file always opens freely. It now sets the password required to remove sheet protection (Review > Unprotect Sheet). Column width is now calculated dynamically from header text length instead of using a fixed width. BIT/BOOLEAN columns now render as native Excel TRUE/FALSE cells instead of "Yes"/"No" text. Added a 100,000-row-per-sheet cap; excess rows are dropped with a warning instead of failing the export.

Bug Fixes:

Fixed incorrect date/time format casing that caused minutes to display in place of the month (dd-mm-yyyy → dd-MM-yyyy).

Validation & Security:

Added explicit checks for missing/blank jndiName, targetFolder, and NewDocumentName. SQL validation hardened: strips comments before checking, and rejects UNION clauses and nested subqueries. JDBC connection now set to read-only as defense-in-depth. Updated commons-compress to 1.26.1, resolving CVE-2024-25710 and CVE-2024-26308.

Resources

  • Advance Excel Export Plug-In Guide v1.3.0.pdf

    Documentation

    Download