-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathlib.js
71 lines (60 loc) · 1.91 KB
/
lib.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
var fs = require('fs');
var XLSX = require('xlsx');
class MyLib {
constructor() { }
setInitDataFromXlsx() {
const filepath = __dirname + '/pk_20210512.xlsx';
var workbook = XLSX.readFile(filepath);
var sheet_name_list = workbook.SheetNames;
sheet_name_list.forEach(function (y) {
var worksheet = workbook.Sheets[y];
var headers = {};
var data = [];
for (var z in worksheet) {
if (z[0] === '!') continue;
//parse out the column, row, and value
var tt = 0;
for (var i = 0; i < z.length; i++) {
if (!isNaN(z[i])) {
tt = i;
break;
}
}
var col = z.substring(0, tt);
var row = parseInt(z.substring(tt));
var value = worksheet[z].v;
//store header names
if (row == 1 && value) {
headers[col] = value;
continue;
}
if (!data[row]) data[row] = {};
data[row][headers[col]] = value;
}
//drop those first two rows which are empty
data.shift();
data.shift();
// console.log({ data });
});
let area = XLSX.utils.sheet_to_json(workbook.Sheets[sheet_name_list[0]]);
//console.log({ area })
return area
}
setInitJson(data) {
let obj = {
regions: data
};
const filename = __dirname + "/myjsonfile.json";
fs.exists(filename, function (exists) {
if (!exists) {
let json = JSON.stringify(obj);
fs.writeFile(filename, json, (err) => {
console.log(err)
});
}
});
}
}
module.exports = {
MyLib
}