我正在尝试访问对象属性,在循环中创建变量以从 Excel 数据中获取单元格编号。
但问题是有些在 ws[cell] 中有 'v' 属性,如果没有,就会出现错误。错误类型现在是 TypeError,我认为这是因为它没有“v”。我已经尝试过条件,但出现错误的原因与我猜测的相同。我想解决这个问题。当没有“v”时,它只是通过循环,否则它会打印
我知道我可以使用 xlsx.utils.sheet_to_json 来简化它,但我想知道我是否可以在 JS 中解决这个问题..请帮忙提前谢谢!
这是我的代码。
const xlsx = require('xlsx');
let wb = xlsx.readFile('coupang_1.xlsx');
let sheetName = wb.SheetNames
let ws = wb.Sheets[sheetName[0]];
let refernceCell = ws[Object.keys(ws)[0]];
let range = refernceCell.substring(3,5);
let firstChr = range.charCodeAt(0);
let secondChr = range.charCodeAt(1);
let chr1 = '';
let chr2 = '';
let cellNum = firstObj.substring(5);
let limit = 90;
let cell = '';
for(let n=1; n<=cellNum; n++){
for(let i=64 ; i<=firstChr; i++){
chr1 = String.fromCharCode(i);
if(i==firstChr){
limit = secondChr;
}else{
limit = 90;
}
if(i==64){
chr1 = '';
}
for(let j=65; j<=limit; j++){
chr2 = String.fromCharCode(j);
cell = chr1+chr2+n;
let cellobj = ws[cell];
console.log(cell);
let b = 'v' in cellobj;
(b)?console.log('got it'):console.log('nope');
}
}
}
fraction of result
D2
got it
E2
C:\Users\q1\Documents\workspace\Practice\spread\sheet-to-json.js:57
let b = 'v' in cellobj;
^
TypeError: Cannot use 'in' operator to search for 'v' in undefined
at Object.<anonymous> (C:\Users\q1\Documents\workspace\Practice\spread\sheet-to-json.js:57:23)
单元格 d2 没有“v”属性。
料青山看我应如是
qq_花开花谢_0
相关分类