如何在JavaScript中从第8行而不是第一行进行解析?
我正在尝试用react+JavaScript解析xls文件。我正在尝试从第8行而不是从0解析xls,以获得这样的预期结果如何在JavaScript中从第8行而不是第一行进行解析?,javascript,reactjs,xlsx,xls,Javascript,Reactjs,Xlsx,Xls,我正在尝试用react+JavaScript解析xls文件。我正在尝试从第8行而不是从0解析xls,以获得这样的预期结果 [{ 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”,
[{
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”
}
]
这是我的密码
这是我的xls文件
xslToJson=workbook=>{
var数据=[];
var sheet_name_list=workbook.SheetNames;
表\u名称\u列表。forEach(函数(y){
var工作表=工作簿.工作表[y];
var头={};
for(工作表中的var z){
控制台日志(z);
console.log('zzz');
//||z=='B2'| z=='B4'| z=='E4'| z=='B6'| z=='E6'| z=='B8'| z=='C8'| z=='F8'| z=='G8'
如果(z[0]==“!”)继续;
//解析出列、行和值
console.log('rowww',z);
var-tt=0;
对于(变量i=0;i
当前代码在标题处于0位置时工作
任何更新?
请提供一个。不要只是链接到stackblitz。对不起,我编辑了我的问题。。!!要做到这一点,请使用有意义的变量名。阅读此代码后,我很快就不知道变量z
包含什么内容了。@HereticMonkey ok票价点。。!!我会尝试调试我的代码吗。。。。!!没有达到我将要提出的条件
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;
};