Security News
tea.xyz Spam Plagues npm and RubyGems Package Registries
Tea.xyz, a crypto project aimed at rewarding open source contributions, is once again facing backlash due to an influx of spam packages flooding public package registries.
use-csv-downloader
Advanced tools
Readme
Create a .csv file from a javascript object and download to client.
This package is a very simple function which uses json2csv for parsing, the Blob API to create a blob, and file-saver to download the resulting file to the client.
The useCsvDownloader()
function signature looks like this:
useCsvDownloader(optional Object parseOpts)
useCsvDownloader uses the parse
method from json2csv. The optional parseOpts
parameter is passed as the options
for the json2csv parse()
method. You can read the docs for the available options here.
useCsvDownloader returns a function with the following signature:
downloadCsv(required Object | Array data, optional String filename)
The data can be in any format accepted by json2csv. The optional filename parameter defaults to 'download.csv'. Note that if you specify the filename parameter you must include the .csv file extension.
This function will immediately (when invoked) parse the data and download to the client.
import useCsvDownloader from 'use-download-csv'
const downloadCsv = useCsvDownloader()
const data = [
{
"Column1": 'value',
"Column2": 10
},
{
"Column1": 'value',
"Column2": 10
},
{
"Column1": 'value',
"Column2": 10
},
{
"Column1": 'value',
"Column2": 10
},
]
document
.getElementById('download_button')
.addEventListener('click',()=>downloadCsv(data,'filename.txt'))
import React from 'react'
import useCsvDownloader from 'use-download-csv'
const data = [
{
"Column1": 'value',
"Column2": 10
},
{
"Column1": 'value',
"Column2": 10
},
{
"Column1": 'value',
"Column2": 10
},
{
"Column1": 'value',
"Column2": 10
},
]
const App = () => {
const downloadCsv = useCsvDownloader()
return (
<button onClick={()=>downloadCsv(data,'some_file.csv')}>
Download
</button>
)
}
import React from 'react'
import useCsvDownloader from 'use-download-csv'
const App = () => {
const downloadCsv = useCsvDownloader()
const handleDownloadClick = async () => {
const res = await fetch(`api/get-data`)
const data = await res.json()
if (res.ok) {
downloadCsv(data, 'some_file.csv')
}
}
return (
<button onClick={handleDownloadClick}>
Download
</button>
)
}
import React from 'react'
import useCsvDownloader from 'use-download-csv'
const App = () => {
const parseOpts = {
eol: '\r\n',
fields: ["Column1","Column2"],
header: false
}
const downloadCsv = useCsvDownloader(parseOpts)
const handleDownloadClick = async () => {
const res = await fetch(`api/get-data`)
const data = await res.json()
if (res.ok) {
downloadCsv(data, 'some_file.csv')
}
}
return (
<button onClick={handleDownloadClick}>
Download
</button>
)
}
FAQs
Javascript function to convert json to csv and download to client. Can be used like a React hook.
The npm package use-csv-downloader receives a total of 105 weekly downloads. As such, use-csv-downloader popularity was classified as not popular.
We found that use-csv-downloader 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.
Security News
Tea.xyz, a crypto project aimed at rewarding open source contributions, is once again facing backlash due to an influx of spam packages flooding public package registries.
Security News
As cyber threats become more autonomous, AI-powered defenses are crucial for businesses to stay ahead of attackers who can exploit software vulnerabilities at scale.
Security News
UnitedHealth Group disclosed that the ransomware attack on Change Healthcare compromised protected health information for millions in the U.S., with estimated costs to the company expected to reach $1 billion.