
Company News
Socket Named Top Sales Organization by RepVue
Socket won two 2026 Reppy Awards from RepVue, ranking in the top 5% of all sales orgs. AE Alexandra Lister shares what it's like to grow a sales career here.
tt-export-to-csv
Advanced tools
This library provides a function to export data from a TanStack table to a CSV file.
npm i tt-export-to-csv
or
yarn add tt-export-to-csv
This library has the following dependencies:
papaparse: To handle data conversion to CSV format. It must be installed in your project for the library to work correctly.Puedes instalar papaparse usando npm o yarn:
npm install papaparse
yarn add papaparse
exportToCsvThe main function of the library is exportToCsv, which allows you to export the table data to a CSV file.
filename: The name of the CSV file to be generated.
headers: An array of Header objects that defines the table headers.
rows: An array of Row objects containing the table data.
original (optional): If specified as true, a CSV will be generated with the original data according to the interface used to define the columns. If not specified, the CSV will be created from headers and rows.
You can customize the column export using the meta property in the column definition. The exportCsvString property allows you to define a string that will be used to customize the exported content. You can use ${variable}
...
meta: {
exportCsvString: '${name} more string' // allows you to define a string that will be used to customize the exported content. You can use ${variable} to insert values obtained from getValue.
}
...
import {
columnDef,
getFilteredRowModel,
useReactTable,
} from "@tanstack/react-table";
import { exportToCsv } from 'tt-export-to-csv'
type User = {
id: string;
first-name: string;
last-name: string;
active: boolean;
};
const columnHelper = createColumnHelper<User>();
const UserColumns: ColumnDef<User>[] = [
{
id: 'name',
header: 'Name',
accesorFn: row => ({ name: row.first-name, lastName: row.last-name id: row.id}),
cell: info => {
const { name, lastName, id } = info.getValue() as {name: string, lastName: string, id: number};
return (
<a href={`/user/profile/${id}`}>
<span>
{`${name}-${lastName}`}
</span>
</a>
)
},
meta: {
exportCsvString: '${name}' // allows you to define a string that will be used to customize the exported content. You can use ${variable} to insert values obtained from getValue.
}
},
{
id: 'state',
header: 'State',
accesorKey: 'active'
}
]
const App: React.FC = () => {
const [data, setData] = React.useState(() => [...defaultData]);
const table = useReactTable({
data,
columns,
getCoreRowModel: getCoreRowModel(),
});
const handleExportToCsv = (): void => {
const headers = table
.getHeaderGroups()
.map((x) => x.headers)
.flat();
const rows = table.getCoreRowModel().rows; // All Rows
const rows = table.getSelectedRowModel().rows; // Selected rows
exportToCsv('users.csv', headers, rows);
};
return(
<>
<button onClick={handleExportToCsv}>Export to csv</button>
</>
)
}
FAQs
Export TanStack Table data to CSV format
We found that tt-export-to-csv demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 0 open source maintainers collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Company News
Socket won two 2026 Reppy Awards from RepVue, ranking in the top 5% of all sales orgs. AE Alexandra Lister shares what it's like to grow a sales career here.

Security News
NIST will stop enriching most CVEs under a new risk-based model, narrowing the NVD's scope as vulnerability submissions continue to surge.

Company News
/Security News
Socket is an initial recipient of OpenAI's Cybersecurity Grant Program, which commits $10M in API credits to defenders securing open source software.