Blog

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.

Build a tool for the site you're on.

Plans from $9/month · Chrome 138+ · Works on any site

ScriptPanda
Add to Chrome
1

Add it to Chrome

One click from the Web Store. Chrome will ask for the permission ScriptPanda needs to add tools to pages.

2

Open the side panel

On whatever page is annoying you. ScriptPanda can already see it; there's nothing to configure first.

Hide the recommended sidebar

3

Ask for the change

In plain English. It builds the tool, installs it on that site, and runs it — and it's still there tomorrow.