download-csv
Version:
a funtion to dowload csv file
91 lines (60 loc) • 2.01 kB
Markdown
a funtion to download csv file
this modlue dependent on `a` tag attribute `download`, so that some Browser can not use.<br>
[](http://caniuse.com/#search=download)<br>
tips: in safari the file will download success but you must change the file extension to `.csv`;
```bash
npm install download-csv --save
```
```js
import downloadCsv from 'download-csv';
// in your project, like this
downloadCsv(datas, columns, exportFileName);
```
`datas`: download datas support object and array(see the demo to check details)<br>
`columns`: download file column header title(default value: `datas` keys value)<br>
`exportFileName`: export file name (default value : `export.csv`, please include the file extension)
## Other
tool function
```js
import { creatCsvFile, downloadFile, detectionClientType } from 'download-csv';
creatCsvFile(datas, columns); // return csvfile
downloadFile(csvfile, exportFileName); // browser download file
detectionClientType(); // return { name: 'browser name', version: 'browser version' };
```
```js
const datas = [
{ name: 'test1', score: 1, level: 'Z' },
{ name: 'test2', score: 2 },
{ name: 'test3', score: 3 },
{ name: 'test4', score: 4 },
];
const columns = { name: '姓名', score: '分数' };
downloadCsv(datas, columns);
```
the download file like this:<br>
| 姓名 | 分数 | level |
| :---: | :---: | :---: |
| test1 | 1 | Z |
| test2 | 2 | |
| test3 | 3 | |
| test4 | 4 | |
```js
const datas = { name: 'test1', score: 1, level: 'Z' }
const columns = { name: '姓名', score: '分数' };
downloadCsv(datas, columns);
```
the download file like this:<br>
| 姓名 | test1 |
| :---: | :---: |
| 分数 | 1 |
| level | Z |
[](https://github.com/AllenZeng/download-csv/blob/master/example)