JavaScript(node js)在读取Excel文件时跳过空单元格
我正在做一个小任务,阅读Excel表格并以json格式保存。当所有单元格值都存在时,我使用的代码运行良好,如果有空单元格,它将跳过该单元格 如果没有显示任何值,我想要的输出(在我的情况下,我错过了cust2电话号码)如下所示JavaScript(node js)在读取Excel文件时跳过空单元格,javascript,node.js,excel,Javascript,Node.js,Excel,我正在做一个小任务,阅读Excel表格并以json格式保存。当所有单元格值都存在时,我使用的代码运行良好,如果有空单元格,它将跳过该单元格 如果没有显示任何值,我想要的输出(在我的情况下,我错过了cust2电话号码)如下所示 [{cust_name:'Ben', 卡斯特城:“1号街”, 客户所在国家:'country1', phno:1}, {客户名称:“肯”, 卡斯特城:“第二街”, 客户所在国家:'country2' phno:}, {客户名称:'Ron', 卡斯特城:“第三街”, 客户所在
[{cust_name:'Ben',
卡斯特城:“1号街”,
客户所在国家:'country1',
phno:1},
{客户名称:“肯”,
卡斯特城:“第二街”,
客户所在国家:'country2'
phno:},
{客户名称:'Ron',
卡斯特城:“第三街”,
客户所在国家:'country3',
phno:3}]
但我得到的结果是
[{cust_name:'Ben',
卡斯特城:“1号街”,
客户所在国家:'country1',
phno:1},
{客户名称:“肯”,
卡斯特城:“第二街”,
客户国家:'国家2'},
{客户名称:'Ron',
卡斯特城:“第三街”,
客户所在国家:'country3',
phno:3}]
它错过了为cust2提交的phno
请帮助我弄清楚我必须在代码中更改什么才能获得所需的输出
我的代码是
var XLSX = require('xlsx');
var workbook = XLSX.readFile('customer.xlsx');
var sheet_name_list = workbook.SheetNames;
sheet_name_list.forEach(function(y) {
var worksheet = workbook.Sheets[y];
var headers = {};
var data = [];
for(z in worksheet) {
if(z[0] === '!') continue;
//parse out the column, row, and value
var col = z.substring(0,1);
var row = parseInt(z.substring(1));
var value = worksheet[z].v;
//store header names
if(row == 1) {
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);
});
提前谢谢 我也面临同样的问题, 在阅读了库文档之后,上述问题的解决方案是将可选参数传递给XLSX.readFile函数 i、 易变 from:var workbook=XLSX.readFile('customer.XLSX') 至:var workbook=XLSX.readFile('customer.XLSX',{sheetStubs:true})强> 可选对象中的sheetStubs参数允许库列出默认情况下被库的数据处理实用程序忽略的单元格 **浏览图书馆的以下部分 1) 解析选项
2) 数据类型(强调数据类型z)。如果第一行包含所有值,而第二行缺少一些值,该怎么办?我需要说的是,这些行中缺少一些值。我想表明,如果该字段为空,则该字段将丢失。这就是npm“xlsx”模块的问题。我也面临着这个问题。Nwz如果第一行有所有字段,那么我想它会工作得很好。再试一次啊,当然,我会再试一次。谢谢你经过了很多尝试,我仍然在努力解决我的问题,有人能帮我吗?上面确实允许我至少访问json对象的其余部分,除了它未定义的单元格,而不添加它,我的数组将在第一个空元素处结束。我现在需要更新一个元素,以便能够获取空单元格的“值”。到目前为止,另一个重要的部分是使用!此处引用的筛选函数中为null。我的数组仍然返回空值中没有对象的值。希望这能帮助别人。