@voicenter/excelparser

1.3.6 • Public • Published

ExcelParser

import Parser from './main'

###1. Create Parser

this.parser = new Parser();
or  
this.parser = new Parser({hasHeader: false});

###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

  • readFile() - read file (return Promise)
  • bindColumns(index, headerData) - function bind & validation columns (return Promise) {result: [...result], errors: {...errors}}

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) 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

Readme

Keywords

none

Package Sidebar

Install

npm i @voicenter/excelparser

Weekly Downloads

1

Version

1.3.6

License

ISC

Unpacked Size

51.6 kB

Total Files

8

Last publish

Collaborators

  • maksym.k
  • shlomi.gutman
  • tzachish