
Company News
/Security News
Socket Selected for OpenAI's Cybersecurity Grant Program
Socket is an initial recipient of OpenAI's Cybersecurity Grant Program, which commits $10M in API credits to defenders securing open source software.
react-export-table
Advanced tools
A all in one solution for exporting array data as excel, pdf and copy to clipboard & print data!
A package for for exporting array data or table data as excel sheet, csv, pdf and tools for copied data to clipboard or printing data. By using this package you can you can export table data and print table data or copy to clipboard all in one place.
$ npm i react-export-table
import { ExportAsExcel, ExportAsPdf, ExportAsCsv, CopyToClipboard, CopyTextToClipboard, PrintDocument, ExcelToJsonConverter, FileUpload } from "react-export-table";
//Export as Excel Sheet
<ExportAsExcel
data={data}
headers={["Name", "Age", "Something"]}
>
{(props)=> (
<button {...props}>
Export as Excel
</button>
)}
</ExportAsExcel>
//Export as pdf
<ExportAsPdf
data={data}
headers={["CreatedBy", "Age", "Something Else"]}
headerStyles={{ fillColor: "red" }}
title="Sections List"
>
{(props)=> (
<button {...props}>
Export as PDF
</button>
)}
</ExportAsPdf>
//Export as CSV
<ExportAsCsv
data={data}
>
{(props)=> (
<button {...props}>Hello World</button>
)}
</ExportAsCsv>
//Copy to clipboard (Array or Table)
<CopyToClipboard
data={data}
headers={["CreatedBy", "Age", "Something Else"]}
>
{(props)=> (
<button {...props}>
Copy Document
</button>
)}
</CopyToClipboard>
//Copy to clipboard (text)
<CopyTextToClipboard text="Hello World">
{(props)=> (
<button {...props}>
Copy Text
</button>
)}
</CopyTextToClipboard>
//Print data
<PrintDocument
data={data}
headers={["CreatedBy", "Age", "Something Else"]}
>
{(props)=> (
<button {...props}>
Copy Text
</button>
)}
</PrintDocument>
//Excel to json converter or Read Excel File
<ExcelToJsonConverter>
{({
isDragging,
dragProps,
onFileUpload,
errors,
data,
fileInfo
}) => (
<div {...dragProps} onClick={onFileUpload}>
{errors}
</div>
)}
</ExcelToJsonConverter>
//File Upload
<FileUpload acceptType={[".pdf"]}>
{({
isDragging,
dragProps,
onFileUpload,
errors,
fileInfo
}) => (
<div className="border border-solid border-red-600 p-8" {...dragProps} onClick={onFileUpload}>
{errors}
</div>
)}
</FileUpload>
| Name | Types | Default |
|---|---|---|
| chilren | ReactNode (Required) | |
| data | Array (Required) | |
| headers | string[] (Required) | |
| name | string (Optional) | reactExportTable |
| minColumnWidth | number (Optional) | 15 |
| fileName | string (Optional) | reactExportTable |
| Name | Types | Default |
|---|---|---|
| chilren | ReactNode (Required) | |
| data | Array (Required) | |
| headers | string[] (Required) | |
| foot | string[] (Optional) | |
| title | string (Optional) | |
| fileName | string (Optional) | reactExportTable |
| theme | "striped" | "grid" | "plain" (Optional) | "grid" |
| styles | StylesDefs (Optional) | |
| headerStyles | StylesDefs (Optional) | |
| footerStyles | StylesDefs (Optional) | |
| margin | Margin (Optional) |
font: 'helvetica'|'times'|'courier' = 'helvetica'fontStyle: 'normal'|'bold'|'italic'|'bolditalic' = 'normal'overflow: 'linebreak'|'ellipsize'|'visible'|'hidden' = 'linebreak'fillColor: Color? = nulltextColor: Color? = 20cellWidth: 'auto'|'wrap'|number = 'auto'minCellWidth: number? = 10minCellHeight: number = 0halign: 'left'|'center'|'right' = 'left'valign: 'top'|'middle'|'bottom' = 'top'fontSize: number = 10cellPadding: Padding = 10lineColor: Color = 10lineWidth: border = 0 // If 0, no border is drawntop: numberright: numberbottom: numberleft: numberYou find this three type theme-
| Name | Types | Default |
|---|---|---|
| chilren | ReactNode (Required) | |
| data | Array (Required) | |
| fileName | String (Optional) | Custom CSV File Name |
| Name | Types | Default |
|---|---|---|
| chilren | ReactNode (Required) | |
| data | Array (Required) | |
| headers | string[] (Required) | |
| onCopied | Function (Optional) | When copy will be success |
| onFailed | Funtion (Optional) | When copy will be failed |
| Name | Types | Default |
|---|---|---|
| chilren | ReactNode (Required) | |
| text | string (Required) | |
| headers | string[] (Required) | |
| onCopied | Function (Optional) | When copy will be success |
| onFailed | Funtion (Optional) | When copy will be failed |
ExportAsPdf Component!| Name | Types | Description | Example |
|---|---|---|---|
| onRead | Function (Optional) | For getting json data | `onRead={(data:YourType)=> console.log(data)}` |
| inputProps | React.HTMLProps (Optional) | Input Props for input field | |
| onChange | Function (Optional) | `onChange={(file:File)=> console.log(file)}` |
| Name | Types | Description |
|---|---|---|
| dragProps | object | Native element props for drag and drop feature |
| isDragging | boolean | "true" if a file is being dragged |
| onFileUpload | function | Called when an element is clicks and triggers to open a file dialog |
| errors | string | Validation Error |
| data | Array | Read or Converted data |
| fileInfo | object | Selected file info |
| Name | Types | Description | Example |
|---|---|---|---|
| acceptType | Function (Required) | File Accept Type | `acceptType={[".pdf"]}` |
| inputProps | React.HTMLProps (Optional) | Input Props for input field | |
| onChange | Function (Optional) | `onChange={(file:File)=> console.log(file)}` | |
| size | File size for validation (Optional) | Size Need to be define in MB |
| Name | Types | Description |
|---|---|---|
| dragProps | object | Native element props for drag and drop feature |
| isDragging | boolean | "true" if a file is being dragged |
| onFileUpload | function | Called when an element is clicks and triggers to open a file dialog |
| errors | string | Validation Error |
| fileInfo | object | Selected file info |
In version 3 I added more headless on each component. I update only CopyTextToClipboard, CopyToClipboard, ExportAsCsv, ExportAsExcel, ExportAsPdf, PrintDocument component.
Update this
<AnyOfThoseComponent
data={data}
headers={["Name", "Age", "Something"]}
>
<button>
Export as Excel
</button>
</AnyOfThoseComponent>
to
<AnyOfThoseComponent
data={data}
headers={["Name", "Age", "Something"]}
>
{(props)=> (
<button {...props}>
Export as Excel
</button>
)}
</AnyOfThoseComponent>
FAQs
A all in one solution for exporting array data as excel, pdf and copy to clipboard & print data!
We found that react-export-table demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer 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
/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.

Security News
Socket CEO Feross Aboukhadijeh joins 10 Minutes or Less, a podcast by Ali Rohde, to discuss the recent surge in open source supply chain attacks.

Research
/Security News
Campaign of 108 extensions harvests identities, steals sessions, and adds backdoors to browsers, all tied to the same C2 infrastructure.