1.1.1 โ€ข Published 1 month ago

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

Weekly downloads
-
License
MIT
Repository
github
Last release
1 month 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

1 month ago

1.1.0

1 month ago

1.0.7

1 month ago

1.0.6

1 month ago

1.0.5

1 month ago

1.0.4

1 month ago

1.0.3

1 month ago

1.0.2

1 month ago

1.0.1

1 month ago

1.0.0

1 month ago