Я пытаюсь разобрать файл xls в реакции + JavaScript. Я пытаюсь разобрать xls из строки № 8, а не из 0, чтобы получить ожидаемый результат, подобный этому
[{
Emp. No:”116”,
Amp. Name:”vikas kumar”,
Card No:”39001”,
“Att Date”:”01-Aug-2019”
},
{
Emp. No:”116”,
Amp. Name:”vikas kumar”,
Card No:”39001”,
“Att Date”:”02-Aug-2019”
},
{
Emp. No:”116”,
Amp. Name:”vikas kumar”,
Card No:”39001”,
“Att Date”:”03-Aug-2019”
}
]
Вот мой код
https://stackblitz.com/edit/react-e9zsto
Вотмой xls файл
https://filebin.net/jm37356p8nkzgycm
xslToJson = workbook => {
var data = [];
var sheet_name_list = workbook.SheetNames;
sheet_name_list.forEach(function(y) {
var worksheet = workbook.Sheets[y];
var headers = {};
for (var z in worksheet) {
console.log(z);
console.log('zzz');
// || z==='B2' || z==='B4' || z==='E4' ||z==='B6' ||z==='E6'||z==='B8'||z==='C8'||z==='F8' || z==='G8'
if (z[0] === "!" ) continue;
//parse out the column, row, and value
console.log('rowww',z);
var tt = 0;
for (var i = 0; i < z.length; i++) {
console.log(z[i])
console.log('z[i]')
if (!isNaN(z[i])) {
tt = i;
console.log('ttttttt',tt)
console.log('zzzzz',z)
break;
}
}
var col = z.substring(0, tt);
var row = parseInt(z.substring(tt));
var value = worksheet[z].v;
console.log(value)
console.log("value")
//store header names
if (row == 1 && value) {
headers[col] = value;
continue;
}
console.log(headers)
console.log("headers")
if (!data[row]) data[row] = {};
data[row][headers[col]] = value;
}
console.log(data)
//drop those first two rows which are empty
data.shift();
data.shift();
});
return data;
};
в настоящее время код работает, когда заголовок находится в 0 позиции any update ?