Sharing a Plugin I Built: Column Selector + CSV Export for Table Widgets
Summary: garrett shared a Sisense plugin they developed, called ColumnToggle, which helps users manage large table widgets by allowing them to select and export only specific columns to a spreadsheet. The plugin includes a column selector for managing visible columns and a CSV export function that respects these selections. Users can simply enable it for each widget, and selections persist across page reloads. The plugin enhances usability by including dashboard-level filters in the export and skipping formula columns, though it has some limitations like disabling column resizing. garrett also invited contributions on their GitHub repository.
Hey Sisense community,
I wanted to share a plugin I recently built that solves a pain point I kept running into with large table widgets — specifically, the need to let users choose which columns they want to see and then export only those columns to a spreadsheet without having to download everything.
What It Does
ColumnToggle is a Sisense plugin that adds two buttons to any table widget you enable it on:
Hamburger button (column selector) — Opens a dropdown panel listing every column in the table with checkboxes. Users can:
Search/filter the column list
Use a "Show all / Hide all" toggle
Stage their selections and only commit them with an explicit Apply button (so accidental clicks don't immediately rearrange the table)
Their selections persist across page reloads via
localStorage, keyed per widget
Green Excel button (CSV export) — Exports the currently visible columns only, using Sisense's native /jaql/csv server-side endpoint. Because it's server-generated, it's fast even for large result sets. Dashboard-level filters are automatically included in the export scope.
How to Enable It Per Widget
The feature is off by default. As a dashboard editor, you enable it per widget by going to the widget's kebab menu (edit mode) → "Enable Column Selector". That state is persisted on the widget's style object, so viewers automatically get the buttons without needing edit access.
A Few Things Worth Knowing
Export respects visible columns only — if a user has hidden 10 of 30 columns, the CSV only contains the 20 they kept visible
Dashboard-level filters are included in the export; widget-level filters need to be promoted to the dashboard level to appear in the output (a Sisense limitation with widget filter object serialization)
Formula/calculated columns are skipped during export — use direct column references in the widget editor rather than formula columns like
avg()to avoid blank export filesColumn resizing is intentionally disabled on enabled widgets — DataTables' resize math reads stale widths from hidden columns and can blow table width out to tens of thousands of pixels
Installation
Drop the flat folder into your Sisense plugins directory (typically .../Sisense/PrismWeb/plugins/column_toggle_export/) so all files sit directly at the root. Refresh the plugin cache and reload. One gotcha: do not nest any files into subfolders — Sisense only serves from the plugin root, and subfolder references fail silently with no console error.
Contribute
I have a public repository where the code lives if anyone wants to dig in, suggest improvements, or adapt it for their own environment:
https://github.com/gwolfe88/sisense-plugins
PRs and issues are welcome. Happy to answer questions in the comments here as well.
Hope this is useful to someone else. It's been a solid quality-of-life improvement for our users who work with wide tables and only ever care about a subset of columns at export time.


Ido Darnell
·3 months ago · EditedThis is AWESOME @Garrett Wolfe !
We're just about to release the exact same column selector and re-ordering plugin
but with a drag and drop UI, LMK if you like to have a look.
Ido