@voicenter-team/excelparser
v2.0.2
Published
``import Parser from '....'``
Downloads
31
Readme
ExcelParser
import Parser from '....'
###1. Create Parser
this.parser = new Parser();
this.parser.hasHeader = true / false (default true)
###2. Read Excel File
Method - readFile(file)
- @param file - Excel File (evt.target.files[0])
- @returns Promise ({data: [...result]})
this.parser.readFile(file).then((r) => {
setTimeout(() => {
this.loader = false;
this.sample = JSON.stringify(r.data);
this.isNext = true
}, 800)
})
###Methods
- getFileAccept() - return Array with Accepts files
- readFile() - read file (return Promise)
- bindColumns(index, headerData) - function bind & validation columns (return Promise)
{result: [...result], errors: {...errors}}
- getData() - Get Parser current data
- getOriginalData() - Get Parser original data
Example:
this.header = [
{
key: 'F NAME',
label: 'First Name',
property: 'firstName',
validationOptions: {
required: true,
}
},
{
key: 'Customer Name',
label: 'User Name',
property: 'customerName',
validationOptions: {
required: true,
}
},
{
key: 'Phone',
label: 'Phone Number',
property: 'phoneNumber',
validationOptions: {
required: true,
}
}
]
this.parser.bindColumns(0, this.header).then((res) => {
this.hasErrors = this.parser.hasErrors();
this.errors = JSON.stringify(this.parser.getErrors());
this.countErrors = this.parser.getErrors().length;
this.bindResult = JSON.stringify(this.parser.getBindData());
this.bindResultData = {...this.parser.getBindData()};
this.rowData = {...res.result[0]};
});
- hasErrors() - Check is errors (return Boolean)
- getErrors() - Get All errors (return Array)
- getBindData() - Get Instance BindData after bindColumns()
- getFileAccept() - Get files accept
- updateRow() - Update Row in bindData by rowIndex (return rowData)
- deleteRow() - Delete Row by rowIndex
- reparseHeadRowData() - Reparse Head Row Data Example:
this.parser.updateRow(updateRowIndex, rowData);
- validateRow() - Validate One Row
@param {Number} index - index of row.
@param {Object} headerOptions - options of validate (header)
@returns {{valid: boolean, row: *}}
this.parser.validateRow(index, this.header);
- validateBindData() - Validate All BindData
@param {Object} headerOptions - options with validate rules ###Validations (validationOptions)
required: Boolean,
numeric: Boolean,
minLength: Number,
maxLength: Number,
alphaNum: Boolean