1.1.1 โ€ข Published 12 months ago

@simuratli/react-json-csv-converter v1.1.1

Weekly downloads
-
License
MIT
Repository
github
Last release
12 months ago

๐Ÿ“ฆ @simuratli/react-json-csv-converter

A lightweight and customizable React component that enables users to download JSON data as a CSV file with a single button click.

๐Ÿš€ Features

  • ๐Ÿง  Auto-detects headers from your JSON data.
  • ๐ŸŽฏ Supports custom headers with label/key mapping.
  • ๐Ÿ’ก Handles special characters in CSV (e.g., commas, quotes, newlines).
  • โš›๏ธ Fully typed with TypeScript.
  • ๐ŸŽจ Accepts any button props (className, disabled, etc.) for customization.

๐Ÿ“ฆ Installation

npm install @simuratli/react-json-csv-converter

or

yarn add @simuratli/react-json-csv-converter

โœจ Usage

1. Auto-detect headers from JSON:

import { JsonToCsvDownload } from '@simuratli/react-json-csv-converter';

const data = [
  { id: 1, name: 'Alice', age: 30 },
  { id: 2, name: 'Bob', age: 25 }
];

<JsonToCsvDownload data={data} filename="users.csv">
  Export Users
</JsonToCsvDownload>;

2. With custom headers (label + key):

import { JsonToCsvDownload } from '@simuratli/react-json-csv-converter';

const data = [
  { id: 1, name: 'Alice', age: 30 },
  { id: 2, name: 'Bob', age: 25 }
];

const headers = [
  { label: 'User ID', key: 'id' },
  { label: 'Full Name', key: 'name' },
  { label: 'User Age', key: 'age' }
];

<JsonToCsvDownload
  data={data}
  headers={headers}
  filename="custom_users.csv"
  className="my-custom-button"
>
  Download CSV
</JsonToCsvDownload>;

๐Ÿ“˜ Props

PropTypeDescription
dataobject[]Required. The JSON array to convert and download as CSV.
headers{ label: string, key: string }[] | nullOptional. Custom headers for CSV: display label and extract from key.
filenamestringOptional. Name of the downloaded CSV file. Default is data.csv.
classNamestringOptional. Custom CSS classes for the button.
childrenReactNodeOptional. Button label/content. Default is "Download CSV".
onDownload() => voidOptional. Callback after successful CSV download.
...propsButtonHTMLAttributes<HTMLButtonElement>Optional. All standard <button> props supported.

๐Ÿงช Development

npm run dev

๐Ÿ“„ License

MIT ยฉ Your Name or GitHub Handle

1.1.1

12 months ago

1.1.0

12 months ago

1.0.7

12 months ago

1.0.6

12 months ago

1.0.5

12 months ago

1.0.4

12 months ago

1.0.3

12 months ago

1.0.2

12 months ago

1.0.1

12 months ago

1.0.0

12 months ago