Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var _ = require('lodash')
- var fs = require('fs');
- var node_xj = require("xls-to-json");
- var axios = require('axios');
- require('dotenv').config()
- const order_keys = ['Order ID', 'Order Date and Time', 'Pincode', 'City', 'State', 'Address', 'Drop Locality', 'Doctor Name', 'Customer name', 'Contact Number'];
- const product_keys = ['Product Name', 'SKU Id', 'Manufacturer Name', 'Quantity ordered', 'Pack Form', 'Pack Size', 'Need Cold Chain', 'Product Mrp', 'Seller Mrp'];
- const writeFile = (filename, data) => {
- fs.writeFile(filename, JSON.stringify(data), function (err) {
- if (err) {
- return console.log(err);
- }
- console.log("JSON created and Saved in test.json!");
- });
- }
- const transformData = (data) => {
- var response = {}
- let res = _.filter(data, (item, index) => !_.isEmpty(item['Sr No.']))
- let grouped = _.groupBy(res, 'Order ID');
- _.each(grouped, (items, key) => {
- let obj = _.pick(items[0], order_keys);
- obj.orders = _.map(items, (item, index) => {
- return _.pick(item, product_keys);
- })
- response[key] = obj;
- })
- return response;
- }
- node_xj({
- input: "input/Document.xlsx", // input xls
- output: null, // output json
- sheet: "Sheet1" // specific sheetname
- }, function (err, result) {
- if (err) {
- console.error(err);
- } else {
- //console.log(result);
- let newData = transformData(result);
- writeFile("test.json", newData);
- axios.post("www.test.com/importjson", {
- 'data': newData,
- 'secret': process.env.SECRET
- })
- .then((res) => {
- console.log(res.data)
- })
- .catch((err) => console.log(err.response.data));
- }
- });
Add Comment
Please, Sign In to add comment