How to add an Export CSV button to any website table
29 September 2026 · 3 min read
You find the table you need — prices, orders, results, a list of cities — and there's no download button. The site wants you to read it, not take it with you.
There are a few ways around that. Which one fits depends on whether you need the data once, or every time you visit.
If you need it once: copy and paste
Select the table, copy it, and paste it into Google Sheets or Excel. Spreadsheets understand pasted HTML tables surprisingly well, and for a one-off this is often enough.
It starts to break down when:
- the table is long and you have to scroll-select for a while
- the page puts buttons, icons or extra text inside the cells
- you need the same table again next week
If the site is a spreadsheet already: IMPORTHTML
Google Sheets can pull a table straight from a public page:
=IMPORTHTML("https://example.com/page", "table", 1)
It only works on pages Google's servers can open without you — no logins, no pages built by scripts after they load — which rules out most dashboards and admin tools.
If you need it every time: add the button to the page
The tidy answer to a repeat task is a button that sits above the table and downloads it as a CSV file whenever you click it. Browsers can do this entirely on the page: read the table's rows, turn them into comma-separated text, and hand you a file.
You can write that yourself as a small script, or describe it to ScriptPanda:
Add a button that exports this table as CSV
ScriptPanda reads the page you're on, finds the table and its column headings, and adds an Export CSV button above it. Click it and the file downloads. The button is still there the next time you open that site, and the code behind it is yours to read or edit.
A few details worth asking for
- Only the rows you want. "Export only the rows where status is Overdue."
- Clean numbers. "Strip the currency symbols so the numbers sort properly."
- A better filename. "Name the file after the page title and today's date."
Each of these is a change to the same button — you ask, and ScriptPanda updates the tool.
Where it won't help
A button like this works with what's on the page in front of you. If the site shows 50 rows at a time, the export has the 50 rows you can see — unless you ask for a tool that clicks through the pages for you while you're on the site. It won't fetch data from other sites, or run on its own while your browser is closed.
ScriptPanda is a Chrome extension that builds tools like this for any site you use. Plans start at $9 a month.