{"_id":"tanstack-table-export-to-csv","_rev":"4-c07ac18ec0a9c6b040ac5e22be238ad6","name":"tanstack-table-export-to-csv","dist-tags":{"latest":"1.0.5"},"versions":{"1.0.0":{"name":"tanstack-table-export-to-csv","version":"1.0.0","keywords":["tanstack","tanstack-table","tanstack-react-table","csv","export","tanstack-table-export","tanstack-table-csv","react","table","react-table","datagrid"],"author":{"name":"Aliaksandr Hrytsak"},"license":"MIT","_id":"tanstack-table-export-to-csv@1.0.0","maintainers":[{"name":"grvctr","email":"aliaksandr.hrytsak@gmail.com"}],"homepage":"https://github.com/grvctr/tanstack-table-export-to-csv#readme","bugs":{"url":"https://github.com/grvctr/tanstack-table-export-to-csv/issues"},"dist":{"shasum":"28a2551e7263b6da4d00c0a04bc74cdf89cb1828","tarball":"https://registry.npmjs.org/tanstack-table-export-to-csv/-/tanstack-table-export-to-csv-1.0.0.tgz","fileCount":7,"integrity":"sha512-2NMWIoVXdfJ+LhWx5jMKhGws/NZf5OAmZ7SYkM2TMRDazUjNe6828Tn7Enkj5u+xKyVsvZdE5ANTnguO1ckkHg==","signatures":[{"sig":"MEYCIQCqiQ2v+V2FuPDprfEDQkAUg07NZDDpI+I2Rlk5ly+fBQIhAOEXVKwFiTk8dkx2ER57WQ8846bWZu2PkczPPwXEgvrU","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":12447},"main":"index.ts","gitHead":"48076473f40be25b800e40adb23d2dc38877b8b3","_npmUser":{"name":"grvctr","email":"aliaksandr.hrytsak@gmail.com"},"repository":{"url":"git+https://github.com/grvctr/tanstack-table-export-to-csv.git","type":"git"},"_npmVersion":"10.2.4","description":"The 'TANSTACK REACT TABLE EXPORT TO CSV' is a lightweight and user-friendly package for exporting tanstack react tables to CSV format","directories":{},"_nodeVersion":"20.10.0","dependencies":{"typescript":"^5.3.3","react-innertext":"^1.1.5","@tanstack/react-table":"^8.11.6"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/tanstack-table-export-to-csv_1.0.0_1705455231165_0.37551886418722047","host":"s3://npm-registry-packages"}},"1.0.2":{"name":"tanstack-table-export-to-csv","version":"1.0.2","keywords":["tanstack","tanstack-table","tanstack-react-table","csv","export","tanstack-table-export","tanstack-table-csv","react","table","react-table","datagrid"],"author":{"name":"Aliaksandr Hrytsak"},"license":"MIT","_id":"tanstack-table-export-to-csv@1.0.2","maintainers":[{"name":"grvctr","email":"aliaksandr.hrytsak@gmail.com"}],"homepage":"https://github.com/grvctr/tanstack-table-export-to-csv#readme","bugs":{"url":"https://github.com/grvctr/tanstack-table-export-to-csv/issues"},"dist":{"shasum":"4ad1d2b2e84ac6d956a3b8cfef4b22d6b473ffe3","tarball":"https://registry.npmjs.org/tanstack-table-export-to-csv/-/tanstack-table-export-to-csv-1.0.2.tgz","fileCount":9,"integrity":"sha512-fHwd7PsSzSA66+Io9WPfruUbojYX8i8AImtHUeo27z3ebbtB/Nfu8FTu9+QDK8UXFqGaJY8tnNhz2oIzvTnLLA==","signatures":[{"sig":"MEQCIDCmT0ZZy5bxaT4HOsKuPaSR3MIHPNyfpUAiVSohSO7IAiBsUajClBoPjgiiv/ZTpxBBJ4D4eHUUN5Dcva5ixEQCNw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":14552},"main":"index.ts","types":"./index.d.ts","gitHead":"92919a60520b6c339ed94dcaac52cc25452c231c","scripts":{"build":"tsc","prepublishOnly":"tsc"},"_npmUser":{"name":"grvctr","email":"aliaksandr.hrytsak@gmail.com"},"repository":{"url":"git+https://github.com/grvctr/tanstack-table-export-to-csv.git","type":"git"},"_npmVersion":"10.2.4","description":"The 'TANSTACK REACT TABLE EXPORT TO CSV' is a lightweight and user-friendly package for exporting tanstack react tables to CSV format","directories":{},"_nodeVersion":"20.10.0","dependencies":{"typescript":"^5.3.3","react-innertext":"^1.1.5","@tanstack/react-table":"^8.11.6"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/tanstack-table-export-to-csv_1.0.2_1705456449456_0.5627362484225937","host":"s3://npm-registry-packages"}},"1.0.3":{"name":"tanstack-table-export-to-csv","version":"1.0.3","keywords":["tanstack","tanstack-table","tanstack-react-table","csv","export","tanstack-table-export","tanstack-table-csv","react","table","react-table","datagrid"],"author":{"name":"Aliaksandr Hrytsak"},"license":"MIT","_id":"tanstack-table-export-to-csv@1.0.3","maintainers":[{"name":"grvctr","email":"aliaksandr.hrytsak@gmail.com"}],"homepage":"https://github.com/grvctr/tanstack-table-export-to-csv#readme","bugs":{"url":"https://github.com/grvctr/tanstack-table-export-to-csv/issues"},"dist":{"shasum":"87f4d599c8d199f524083a65307d554354c4d7ee","tarball":"https://registry.npmjs.org/tanstack-table-export-to-csv/-/tanstack-table-export-to-csv-1.0.3.tgz","fileCount":9,"integrity":"sha512-RCfAj7U42j7MNJ/LbCtP9ehrMxgg0h1dTuZfFV8M9vMoc4JhCad1KBu8zSlnZ+uK1Ps0/R3EAh9+P0PiIsja7w==","signatures":[{"sig":"MEQCIBCiLGGRhmvHhsX/T/cPOVKM1kJFDdFqJm6jWZP1WH3IAiB8GghNwV+ppkPSAEno/GvYYPU/EuoNdKGJzgK6EYRRow==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":14709},"main":"index.ts","types":"./index.d.ts","gitHead":"3eac36b1f20c54acbfcbe2486cc5f56218253dc1","scripts":{"build":"tsc","prepublishOnly":"tsc"},"_npmUser":{"name":"grvctr","email":"aliaksandr.hrytsak@gmail.com"},"repository":{"url":"git+https://github.com/grvctr/tanstack-table-export-to-csv.git","type":"git"},"_npmVersion":"10.2.4","description":"The 'TANSTACK REACT TABLE EXPORT TO CSV' is a lightweight and user-friendly package for exporting tanstack react tables to CSV format","directories":{},"_nodeVersion":"20.10.0","dependencies":{"typescript":"^5.3.3","react-innertext":"^1.1.5","@tanstack/react-table":"^8.11.6"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/tanstack-table-export-to-csv_1.0.3_1705456574771_0.22267380273083703","host":"s3://npm-registry-packages"}},"1.0.4":{"name":"tanstack-table-export-to-csv","version":"1.0.4","keywords":["tanstack","tanstack-table","tanstack-react-table","csv","export","tanstack-table-export","tanstack-table-csv","react","table","react-table","datagrid"],"author":{"name":"Aliaksandr Hrytsak"},"license":"MIT","_id":"tanstack-table-export-to-csv@1.0.4","maintainers":[{"name":"grvctr","email":"aliaksandr.hrytsak@gmail.com"}],"homepage":"https://github.com/grvctr/tanstack-table-export-to-csv#readme","bugs":{"url":"https://github.com/grvctr/tanstack-table-export-to-csv/issues"},"dist":{"shasum":"c49841babe6d1b7ed17fd617be34278ce4c4ad18","tarball":"https://registry.npmjs.org/tanstack-table-export-to-csv/-/tanstack-table-export-to-csv-1.0.4.tgz","fileCount":10,"integrity":"sha512-qumfnVk4I35jyT32j7WE7A0q8IMPHiMObuOLE3IdCgafNRdJr+0uVRqk9NbZd4I4LFztZ+g5ofWemDTcRZYWrA==","signatures":[{"sig":"MEUCIQDm8L+SGNzzNId+jXU3vRN6TSjbjC3dyT7eTGjiVFOxLQIgJsKBV+CgD2dBG0Lh7ua0zV8gP3NOrtIFZei9WXpBbgk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20331},"main":"index.ts","types":"./index.d.ts","gitHead":"6104de56cdbc920632c31ad6e74300be32911fa2","scripts":{"build":"tsc","prepublishOnly":"tsc"},"_npmUser":{"name":"grvctr","email":"aliaksandr.hrytsak@gmail.com"},"repository":{"url":"git+https://github.com/grvctr/tanstack-table-export-to-csv.git","type":"git"},"_npmVersion":"10.7.0","description":"The 'TANSTACK REACT TABLE EXPORT TO CSV' is a lightweight and user-friendly package for exporting tanstack react tables to CSV format","directories":{},"_nodeVersion":"20.15.0","dependencies":{"typescript":"^5.3.3","react-innertext":"^1.1.5","@tanstack/react-table":"^8.11.6"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/tanstack-table-export-to-csv_1.0.4_1721656831323_0.06401069322130715","host":"s3://npm-registry-packages"}},"1.0.5":{"name":"tanstack-table-export-to-csv","version":"1.0.5","description":"The 'TANSTACK REACT TABLE EXPORT TO CSV' is a lightweight and user-friendly package for exporting tanstack react tables to CSV format","main":"index.js","scripts":{"build":"tsc","prepublishOnly":"tsc"},"repository":{"type":"git","url":"git+https://github.com/grvctr/tanstack-table-export-to-csv.git"},"keywords":["tanstack","tanstack-table","tanstack-react-table","csv","export","tanstack-table-export","tanstack-table-csv","react","table","react-table","datagrid"],"author":{"name":"Aliaksandr Hrytsak"},"license":"MIT","bugs":{"url":"https://github.com/grvctr/tanstack-table-export-to-csv/issues"},"homepage":"https://github.com/grvctr/tanstack-table-export-to-csv#readme","dependencies":{"@tanstack/react-table":"^8.11.6","react-innertext":"^1.1.5","typescript":"^5.3.3"},"_id":"tanstack-table-export-to-csv@1.0.5","gitHead":"7d2412ee30c922d8911290b466dd7e900e90036e","types":"./index.d.ts","_nodeVersion":"20.15.0","_npmVersion":"10.7.0","dist":{"integrity":"sha512-BKCpi5I3RUINY2ZHnaZWQrbBK9BfqJ90BJQaWuFwkCkkDLlIz7XQoR+xYKWmaikbce2m64pO3JhkJIZggvs8Xw==","shasum":"ca503f40b75f71268336e68f0dc389e71f447281","tarball":"https://registry.npmjs.org/tanstack-table-export-to-csv/-/tanstack-table-export-to-csv-1.0.5.tgz","fileCount":10,"unpackedSize":20331,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIA1dYYGA9EzVs8owbm0PA35q1j0//0xyQnP6+Tf2AeCeAiBf6UJEexy8NaJzIFmROtL2CiOYdZvrGoEk7outisaK8g=="}]},"_npmUser":{"name":"grvctr","email":"aliaksandr.hrytsak@gmail.com"},"directories":{},"maintainers":[{"name":"grvctr","email":"aliaksandr.hrytsak@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/tanstack-table-export-to-csv_1.0.5_1731508212954_0.17071401421206756"},"_hasShrinkwrap":false}},"time":{"created":"2024-01-17T01:33:51.164Z","modified":"2024-11-13T14:30:13.300Z","1.0.0":"2024-01-17T01:33:51.341Z","1.0.2":"2024-01-17T01:54:09.634Z","1.0.3":"2024-01-17T01:56:14.914Z","1.0.4":"2024-07-22T14:00:31.481Z","1.0.5":"2024-11-13T14:30:13.142Z"},"bugs":{"url":"https://github.com/grvctr/tanstack-table-export-to-csv/issues"},"author":{"name":"Aliaksandr Hrytsak"},"license":"MIT","homepage":"https://github.com/grvctr/tanstack-table-export-to-csv#readme","keywords":["tanstack","tanstack-table","tanstack-react-table","csv","export","tanstack-table-export","tanstack-table-csv","react","table","react-table","datagrid"],"repository":{"type":"git","url":"git+https://github.com/grvctr/tanstack-table-export-to-csv.git"},"description":"The 'TANSTACK REACT TABLE EXPORT TO CSV' is a lightweight and user-friendly package for exporting tanstack react tables to CSV format","maintainers":[{"name":"grvctr","email":"aliaksandr.hrytsak@gmail.com"}],"readme":"# TANSTACK REACT TABLE EXPORT TO CSV 📊📤\r\n\r\n## Installation\r\n\r\n```bash\r\nnpm install tanstack-table-export-to-csv\r\n```\r\n\r\nor \r\n\r\n```bash\r\nyarn add tanstack-table-export-to-csv\r\n```\r\n\r\nor \r\n\r\n```bash\r\npnpm add tanstack-table-export-to-csv\r\n```\r\n\r\nor\r\n\r\n```bash\r\nbun install tanstack-table-export-to-csv\r\n```\r\n\r\n## Usage\r\n\r\n### `getCsvBlob`\r\n\r\nThe `getCsvBlob` function allows you to generate a Blob with CSV data, providing the flexibility to handle the export process on your own terms.\r\n\r\n```typescript\r\nimport {\r\n  createColumnHelper,\r\n  getFilteredRowModel,\r\n  useReactTable,\r\n} from \"@tanstack/react-table\";\r\nimport { getCsvBlob } from \"tanstack-table-export-to-csv\";\r\n\r\ntype Person = {\r\n  firstName: string;\r\n  lastName: string;\r\n  age: number;\r\n  visits: number;\r\n  status: string;\r\n  progress: number;\r\n};\r\n\r\nconst defaultData: Person[] = [\r\n  {\r\n    firstName: \"tanner\",\r\n    lastName: \"linsley\",\r\n    age: 24,\r\n    visits: 100,\r\n    status: \"In Relationship\",\r\n    progress: 50,\r\n  },\r\n  {\r\n    firstName: \"tandy\",\r\n    lastName: \"miller\",\r\n    age: 40,\r\n    visits: 40,\r\n    status: \"Single\",\r\n    progress: 80,\r\n  },\r\n  {\r\n    firstName: \"joe\",\r\n    lastName: \"dirte\",\r\n    age: 45,\r\n    visits: 20,\r\n    status: \"Complicated\",\r\n    progress: 10,\r\n  },\r\n];\r\n\r\nconst columnHelper = createColumnHelper<Person>();\r\n\r\nconst columns = [\r\n  columnHelper.accessor(\"firstName\", {\r\n    cell: (info) => info.getValue(),\r\n    footer: (info) => info.column.id,\r\n  }),\r\n  columnHelper.accessor((row) => row.lastName, {\r\n    id: \"lastName\",\r\n    cell: (info) => <i>{info.getValue()}</i>,\r\n    header: () => <span>Last Name</span>,\r\n    footer: (info) => info.column.id,\r\n  }),\r\n  columnHelper.accessor(\"age\", {\r\n    header: () => \"Age\",\r\n    cell: (info) => info.renderValue(),\r\n    footer: (info) => info.column.id,\r\n  }),\r\n  columnHelper.accessor(\"visits\", {\r\n    header: () => <span>Visits</span>,\r\n    footer: (info) => info.column.id,\r\n  }),\r\n  columnHelper.accessor(\"status\", {\r\n    header: \"Status\",\r\n    footer: (info) => info.column.id,\r\n  }),\r\n  columnHelper.accessor(\"progress\", {\r\n    header: \"Profile Progress\",\r\n    footer: (info) => info.column.id,\r\n  }),\r\n];\r\nfunction App() {\r\n  const [data, setData] = React.useState(() => [...defaultData]);\r\n\r\n  const table = useReactTable({\r\n    data,\r\n    columns,\r\n    getCoreRowModel: getCoreRowModel(),\r\n  });\r\n\r\n  const handleExportToCsv = (): void => {\r\n    const headers = table\r\n      .getHeaderGroups()\r\n      .map((x) => x.headers)\r\n      .flat();\r\n\r\n    const rows = table.getCoreRowModel().rows;\r\n\r\n    const csvBlob = getCsvBlob(headers, rows);\r\n  };\r\n\r\n  return (\r\n    <>\r\n      <button onClick={handleExportToCsv}>Export to csv</button>\r\n    </>\r\n  );\r\n}\r\n```\r\n\r\n### `exportToCsv`\r\n\r\nThe main powerhouse, `exportToCsv`, simplifies the process by creating a Blob and initiating the download.\r\n\r\n```typescript\r\nimport {\r\n  createColumnHelper,\r\n  getCoreRowModel,\r\n  useReactTable,\r\n} from \"@tanstack/react-table\";\r\nimport { exportToCsv } from \"tanstack-table-export-to-csv\";\r\n\r\ntype Person = {\r\n  firstName: string;\r\n  lastName: string;\r\n  age: number;\r\n  visits: number;\r\n  status: string;\r\n  progress: number;\r\n};\r\n\r\nconst defaultData: Person[] = [\r\n  {\r\n    firstName: \"tanner\",\r\n    lastName: \"linsley\",\r\n    age: 24,\r\n    visits: 100,\r\n    status: \"In Relationship\",\r\n    progress: 50,\r\n  },\r\n  {\r\n    firstName: \"tandy\",\r\n    lastName: \"miller\",\r\n    age: 40,\r\n    visits: 40,\r\n    status: \"Single\",\r\n    progress: 80,\r\n  },\r\n  {\r\n    firstName: \"joe\",\r\n    lastName: \"dirte\",\r\n    age: 45,\r\n    visits: 20,\r\n    status: \"Complicated\",\r\n    progress: 10,\r\n  },\r\n];\r\n\r\nconst columnHelper = createColumnHelper<Person>();\r\n\r\nconst columns = [\r\n  columnHelper.accessor(\"firstName\", {\r\n    cell: (info) => info.getValue(),\r\n    footer: (info) => info.column.id,\r\n  }),\r\n  columnHelper.accessor((row) => row.lastName, {\r\n    id: \"lastName\",\r\n    cell: (info) => <i>{info.getValue()}</i>,\r\n    header: () => <span>Last Name</span>,\r\n    footer: (info) => info.column.id,\r\n  }),\r\n  columnHelper.accessor(\"age\", {\r\n    header: () => \"Age\",\r\n    cell: (info) => info.renderValue(),\r\n    footer: (info) => info.column.id,\r\n  }),\r\n  columnHelper.accessor(\"visits\", {\r\n    header: () => <span>Visits</span>,\r\n    footer: (info) => info.column.id,\r\n  }),\r\n  columnHelper.accessor(\"status\", {\r\n    header: \"Status\",\r\n    footer: (info) => info.column.id,\r\n  }),\r\n  columnHelper.accessor(\"progress\", {\r\n    header: \"Profile Progress\",\r\n    footer: (info) => info.column.id,\r\n  }),\r\n];\r\nfunction App() {\r\n  const [data, setData] = React.useState(() => [...defaultData]);\r\n\r\n  const table = useReactTable({\r\n    data,\r\n    columns,\r\n    getCoreRowModel: getCoreRowModel(),\r\n  });\r\n\r\n  const handleExportToCsv = (): void => {\r\n    const headers = table\r\n      .getHeaderGroups()\r\n      .map((x) => x.headers)\r\n      .flat();\r\n\r\n    const rows = table.getCoreRowModel().rows;\r\n\r\n    exportToCsv(\"persons_data\", headers, rows);\r\n  };\r\n\r\n  return (\r\n    <>\r\n      <button onClick={handleExportToCsv}>Export to csv</button>\r\n    </>\r\n  );\r\n}\r\n```\r\n\r\n### `getHeaderNames`\r\n\r\nA handy utility function, `getHeaderNames`, helps in obtaining text versions of headers.\r\n\r\n```typescript\r\nimport {\r\n  createColumnHelper,\r\n  getFilteredRowModel,\r\n  useReactTable,\r\n} from \"@tanstack/react-table\";\r\nimport { getHeaderNames } from \"tanstack-table-export-to-csv\";\r\n\r\nconst columnHelper = createColumnHelper<Person>();\r\n\r\nconst columns = [\r\n  columnHelper.accessor(\"firstName\", {\r\n    cell: (info) => info.getValue(),\r\n    footer: (info) => info.column.id,\r\n  }),\r\n  columnHelper.accessor((row) => row.lastName, {\r\n    id: \"lastName\",\r\n    cell: (info) => <i>{info.getValue()}</i>,\r\n    header: () => <span>Last Name</span>,\r\n    footer: (info) => info.column.id,\r\n  }),\r\n  columnHelper.accessor(\"age\", {\r\n    header: () => \"Age\",\r\n    cell: (info) => info.renderValue(),\r\n    footer: (info) => info.column.id,\r\n  }),\r\n  columnHelper.accessor(\"visits\", {\r\n    header: () => <span>Visits</span>,\r\n    footer: (info) => info.column.id,\r\n  }),\r\n  columnHelper.accessor(\"status\", {\r\n    header: \"Status\",\r\n    footer: (info) => info.column.id,\r\n  }),\r\n  columnHelper.accessor(\"progress\", {\r\n    header: \"Profile Progress\",\r\n    footer: (info) => info.column.id,\r\n  }),\r\n];\r\n\r\nconst table = useReactTable({\r\n  data,\r\n  columns,\r\n  getFilteredRowModel: getFilteredRowModel(),\r\n});\r\n\r\nconst headers = table\r\n  .getHeaderGroups()\r\n  .map((x) => x.headers)\r\n  .flat();\r\nconst headerNames = getHeaderNames(headers);\r\n// Result: ['firstName', 'Last Name', 'Age', 'Visits', 'Status', 'Profile Progress']\r\n```\r\n\r\nFeel free to contribute and make the `TANSTACK REACT TABLE EXPORT TO CSV` even more awesome! 🚀✨\r\n\r\n## License\r\n\r\nThis module is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\r\n","readmeFilename":"Readme.md"}