A simple module for excel and json converts each other
npm install js2excel!download !npm-version !license !bower-license
It is recommended to run webpack on node 6.x or higher.
Install the pkg with npm:
```
npm install js2excel --save
or yarn
``
yarn add js2excel
or bower
``
bower install js2excel
// es6
import {json2excel, excel2json} from 'js2excel';//CommonJS
let { json2excel, excel2json } = require('js2excel');
// excel's data will be exports, which you probably get it from server.
let data = [
{
"userId": 1,
"userPhoneNumber": 1888888888,
"userAddress": 'xxxx',
"date": '2013/09/10 09:10' // string
},
{
"userId": 2,
"userPhoneNumber": 1888888888,
"userAddress": 'xxxx',
"date": new Date()
},
{
"userId": 3,
"userPhoneNumber": 1888888888,
"userAddress": 'xxxx',
"date": new Date()
}
];
// this will be export a excel and the file's name is user-info-data.xlsx
// the default file's name is excel.xlsx
try {
json2excel({
data,
name: 'user-info-data',
formateDate: 'yyyy/mm/dd'
});
} catch (e) {
console.error('export error');
}
// for webpack 3: dynamic import
import(/ webpackChunkName: "js2excel" / 'js2excel').then(({json2excel}) => {
json2excel({
data,
name: 'test',
formateDate: 'dd/mm/yyyy'
});
}).catch((e) => {
});
`
Exports result as the image shows:$3
`
import { excel2json } from 'js2excel';// html
// methods
onchange(e){
excel2json(e.target.files, (data) => {
console.log('json', data)
}, 'excel2json')
}
// for webpack 3: dynamic import
onchange(e) {
import(/ webpackChunkName: "js2excel" / 'js2excel').then(({excel2json}) => {
excel2json(e.target.files, (data) => {
console.log('json', data)
}, 'excel2json')
}).catch((e) => {
});
}
`
Example, if you hava a excel as following:The data maybe as following:
!data
API
$3
Convert json to excel(.xlsx).opts
Type:
Objectopts.dataType:
Array
Default: []Excel's data.
opts.nameType:
String
Default: excelExcel's name, whose suffix is
.xlsx.opts.formateDateType:
String
Default: dd/mm/yyyyThe date formate in rows' data. Examples:
`
'dd/mm/yyyy' => 08/07/2017
'd/m/yy' => 8/7/17
'd/m/yy hh:ss' => 8/7/17 18:29
'yyyy/mm/dd hh:ss' => 2017/07/17 18:29
`$3
Convert excel(.numbers/.xlsx/.xls) to json.files
Type:
ArrayFileList from
.cb(data)
Type:
FunctionCallback function called on finish. The
data maybe as following:`
{
${sheetName}: [${excelRowsData}]
'sheet1': [/ excel rows' data /],
'sheet2': [/ excel rows' data /],
'sheet3': [/ excel rows' data /]
...
}
`defval
Type:
String
Default: ''The default value when the row data corresponding to the column is blank.
$3
Convert CSV file to json.files
Type:
ArrayFileList from
.cb(data)
Type:
FunctionCallback function called on finish.
encode
Type:
String
Default: UTF-8`The default encode when reading file.