download-csv

a funtion to dowload csv file

Usage no npm install needed!

<script type="module">
  import downloadCsv from 'https://cdn.skypack.dev/download-csv';
</script>

README

download-csv

a funtion to download csv file

Browser Compatible

this modlue dependent on a tag attribute download, so that some Browser can not use.
see the browser compatible
tips: in safari the file will download success but you must change the file extension to .csv;

Install

npm install download-csv --save

Usage

import downloadCsv from 'download-csv';

// in your project, like this
downloadCsv(datas, columns, exportFileName);

Options

datas: download datas support object and array(see the demo to check details)
columns: download file column header title(default value: datas keys value)
exportFileName: export file name (default value : export.csv, please include the file extension)

Other

tool function

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' };

Support array data and object type data download

array data

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:

姓名 分数 level
test1 1 Z
test2 2
test3 3
test4 4

object data

const datas = { name: 'test1', score: 1, level: 'Z' }

const columns = { name: '姓名', score: '分数' };

downloadCsv(datas, columns);

the download file like this:

姓名 test1
分数 1
level Z

Demo

see the usage demo