Okay so i am using the FileUploader
module to upload my file from angular to my REST API
:
var uploader = $scope.uploader = new FileUploader({
url: api.getUrl('uploadCompetence',null)
});
This is sent to the following POST
function:
router.route('/api/uploadCompetence')
.post(function (req, res) {
// This is where i want to read the file
var competence = Competence.build(req.body.location);
competence.add(function (success) {
res.json({message: 'quote created!'});
},
function (err) {
res.status(err).send(err);
});
})
Now my goal is to read the excel
file and then add each row to my database.
However im not quite sure how i can read the file from Node.js
i have debugged my server and couldnt find the file anywhere but the the api is being called from my Angular
application
Can anyone push me in the right direction? :)
There are a few different libraries doing parsing of Excel files (.xlsx). I will list two projects I find interesting and worth looking into.
Node-xlsx
Excel parser and builder. It's kind of a wrapper for a popular project JS-XLSX, which is a pure javascript implementation from the Office Open XML spec.
node-xlsx project page
Example for parsing file
ExcelJS
Read, manipulate and write spreadsheet data and styles to XLSX and JSON. It's an active project. At the time of writing the latest commit was 9 hours ago. I haven't tested this myself, but the api looks extensive with a lot of possibilites.
exceljs project page
Code example:
install exceljs and use the following code,
You can also use this node module called js-xlsx
1) Install module
npm install xlsx
2) Import module + code snippet
Install 'spread_sheet' node module,it will both add and fetch row from local spreadsheet