data lens: excel, log, csv viewer & editor for confluence
Atlassian Marketplaceavailable nowruns on Atlassian
Install from the Atlassian Marketplacefree for sites up to 10 users
Some records were never buried; they were left on a page, where the attachments gather. Take the lantern that reads on the page: the file comes up in small byte ranges, as the person viewing the page.
Data files pile up on Confluence pages: an export, an event log, a sample, a table of results. Reading one has meant downloading it and opening something else. Data Lens opens it on the page instead. Insert the macro and it lists the page's data file attachments; pick one and it renders as a paged table right there. The macro opens CSV and TSV, JSONL and NDJSON, Parquet and Excel workbooks, .log, .txt and .out files with the level of each line detected and counted in chips, and gzipped JSONL, NDJSON, CSV, TSV and logs, and it writes the open table to a CSV download. The first rows are on screen before the file has been read through, and anyone who cannot download an attachment cannot read it through the viewer either. Search covers the whole file and counts the hits. An Excel workbook opens on its first visible sheet with the headers detected and the date and number formats applied, every sheet listed in the Schema tab, and a Parquet file gets the same tab with types, codecs and per-column statistics.
- opens
- CSV and TSV, JSONL and NDJSON, Parquet with snappy, gzip, zstd or lz4 columns, and Excel .xlsx and .xlsm attachments; .log, .txt, .out and .log.gz attachments and gzipped JSONL, NDJSON, CSV and TSV as well
- runs on
- Confluence Cloud, on Atlassian, with no vendor servers
- store
- on the Atlassian Marketplace
- version
- 3.2.0, published 2026-10-27, approved 2026-09-28

what it does
- The macro: type /lens in the editor to insert it; it lists the page's data file attachments, and a click opens one as a table
- CSV and TSV: delimiter sniffing, header detection and quoted fields, numbers right aligned
- JSONL and NDJSON: records indexed in the background while the first rows render, columns sampled from the data
- Parquet: row groups loaded on demand, and a Schema tab with column types, codecs, encodings and min and max per column
- Excel: the first visible sheet with headers detected and date and number formats applied, every sheet listed in the schema view with row counts, cached formula results shown without evaluation
- Search: scans the whole file and reports a hit count; the arrows jump between matches and Aa toggles case
- Row detail: any row opens as JSON, with a copy button
- Pinned file: pick an attachment in the macro configuration and the page opens straight into it for every reader
- Logs and plain text: a .log, .txt or .out attachment opens as a table of lines, each line with a level chip; plain, JSONL, logfmt and ANSI logs are recognized
- Gzip: gzipped JSONL, NDJSON, CSV, TSV and logs open in place, inflated as a stream up to 384 MB unpacked
- Export CSV: the open file written to a download, every row, with a progress line and Cancel in the status bar
- A second page: the macro configuration can name another page by id or exact title, and its data files list beside this page's, marked with the page
- Editing: double-click a CSV or TSV cell and type; the change waits in a list until you confirm it, and the file is saved as a new version, with every earlier version kept and reopenable
- JSON: an array of objects opens as a table, any other document in the detail pane
the file stays in confluence
No download and no vendor servers: the macro reads the attachment with your own access, straight from Atlassian in your browser. When you edit a cell, Confluence saves the file as a new version with a comment naming the change; the earlier versions stay in the history, and nothing is deleted.
what it asks for
- read:page:confluence, to list the data file attachments of the one page the macro sits on
- read:attachment:confluence, to fetch byte ranges of the file you open, as you
- One write scope, used only when you press Apply: writing attachments, to save your edits as a new version of the attachment, as you; the app never deletes an attachment or a version
- What it stores: its own settings inside the page the macro sits on; your browser keeps the theme, the ids of the attachments you open and the text of your searches (up to 200 of each, behind the counts in the trial notice), the notices it has shown, your answer to the one review prompt and the view you left each file on
- Permissions follow Confluence: a reader who cannot download an attachment cannot see it here either
- The list: shows the first 50 attachments of a page
ask rovo about an attachment
On a site with Rovo, the app's agent answers questions about a file on the page in Rovo Chat, with your permissions. The app is listed on the Marketplace AI and Rovo collection.
price, as the store shows it
Free up to 10 users. Past 10 users every user is billed: USD 3.35 per user per month for sites up to 100 users, less per user on larger sites. Billing runs through the Atlassian Marketplace, an annual plan costs ten times the monthly rate, and every paid plan starts with a 30-day free trial.

what's new
- 3.2.0published 2026-10-27
A CSV or TSV cell can now be edited on the page: double-click, type, press Enter, and the change waits in a list with Undo and Discard until you click Apply. A confirmation lists every change, then the file is saved as a new version; the earlier versions stay in the history. The Versions button opens any earlier version, and Revert saves it back as a new version. If the file changed since you opened it, the save is refused. The update asks admins for one new permission, writing attachments, and readers may see an Allow access prompt once.
JSON attachments up to 50 MB open: an array, or an object holding one, becomes the table; anything else opens in the detail pane.
The macro and its settings page appear in the language of each reader's Atlassian profile: German, French, Spanish, Brazilian Portuguese, Japanese, Simplified Chinese, Korean and Hungarian, with English for any other language. File names, formats and the data stay as they are; the Rovo agent still answers in English.
- 2.19.0published 2026-10-17
Once a trial has ended, the macro now says so. The screen reads "The Lens File Viewer trial on this site ended on 14 November 2026." Under it, the attachments stay on the page and open in the macro again once a site admin subscribes on the Manage apps page. The no-license screen now lists the admin's action, start the trial or check Manage apps, before the reload. The trial line of the last week ends "After that the macro stops opening files until a site admin subscribes on the Manage apps page." and links that page ahead of the Marketplace listing; the evaluation line adds that sites up to 10 users keep the app free. The trial line and the review line come off the page before the ended-trial screen draws.
A "Matches only" export now writes every match: the search runs again without its cap (100,000 rows in a workbook or a Parquet file, 10,000 elsewhere) under the export's own "Cancel", and the line reads "12,000 rows written to orders.csv.csv." where 2.18.0 wrote 10,000 and stopped.
- 2.17.0published 2026-10-16
One of our test files, a 1.3 KB Parquet whose footer has one byte flipped so a column chunk no longer matches the schema, opened in 2.16.0 with that column missing and no warning. Now the macro refuses it at open as damaged, and so does the Lens Page Attachment Reader when a Rovo Chat question sends it to that file.
The memory sentence was wrong for some broken files too: on a 1.3 KB Parquet file with a few bytes flipped, 2.16.0 said the page had run out of memory. Such a file is called damaged now.
A workbook from the same set, its zip directory claiming four gigabytes of compressed data for a sheet in a 2.7 KB file, is refused at once; 2.16.0 spent over a minute asking the file for those bytes, and the agent gave no answer.
more
- reading data attachments in Confluence and Jira
- every format, every product
- the Jira edition
- security policy
- support
Pricing, invoices and licensing questions go to sales@twilightventures.dev; anything else about the product to support@twilightventures.dev.