Javascript Excel数据不以数组形式出现
我有一个简单的数组,如下图所示 我想得到一个数组中的办公室代码。我正在使用nodeJavascript Excel数据不以数组形式出现,javascript,arrays,exceljs,Javascript,Arrays,Exceljs,我有一个简单的数组,如下图所示 我想得到一个数组中的办公室代码。我正在使用nodeexceljs模块来实现这一点 根据github页面的示例,我有这段代码 let array_is =[]; let workbook = new excel.Workbook(); workbook.xlsx.readFile("path_to_file").then(()=>{ var worksheet = workbook.getWorksheet('Sheet1'
exceljs
模块来实现这一点
根据github页面的示例,我有这段代码
let array_is =[];
let workbook = new excel.Workbook();
workbook.xlsx.readFile("path_to_file").then(()=>{
var worksheet = workbook.getWorksheet('Sheet1');
var col = worksheet.getColumn(1);
console.log(col.values);
array_is = array_is.push(col.values);
});
console.log(array_is);
但是,数组返回[]
。如果我使用控制台
语句单独打印excel中的值,我就能够正确地看到从excel打印的值
将值推送到数组时我做错了什么。我还在array push语句中使用了
toString()
方法,但没有填充数组。array\u位于workbook.xlsx.readFile
之外,这是这里的主要问题workbook.xlsx.readFile
是一个异步函数,因此代码流将前进到下一条语句,而无需等待当前行的完成。因此,将您的数组\u记录在readFile函数中
let array_is =[];
let workbook = new excel.Workbook();
workbook.xlsx.readFile("path_to_file").then(()=>{
var worksheet = workbook.getWorksheet('Sheet1');
var col = worksheet.getColumn(1);
console.log(col.values);
array_is = array_is.push(col.values);
console.log(array_is);
});
我的错。应该给javascript加上标签。有人能解释为什么会投反对票吗?只是一个预感:你在getColumn
中想要的索引可能是0而不是1(javascript和许多其他语言中通常采用的零索引方法)。没有。索引仅为1。我尝试了0
,但它什么都没有收到。