Javascript 如何从excel文件传递数据并将其用作参数
我试图从excel文件中的单元格中获取值,并将其作为参数传递给我的一个方法 如果我只是对参数进行硬编码并将其移到Javascript 如何从excel文件传递数据并将其用作参数,javascript,protractor,Javascript,Protractor,我试图从excel文件中的单元格中获取值,并将其作为参数传递给我的一个方法 如果我只是对参数进行硬编码并将其移到之外,我就能够输入站点编号。然后(函数)的读取文件 例如,export_page.enterSiteId('20003') base_页面。单击导出链接()//单击导出链接 var workbook=新建Excel.workbook(); workbook.xlsx.readFile('D:\\Project1\\testdata\\Book1.xlsx')。然后(函数(){ var
之外,我就能够输入站点编号
。然后(函数)
的读取文件
例如,export_page.enterSiteId('20003')代码>
base_页面。单击导出链接()//单击导出链接
var workbook=新建Excel.workbook();
workbook.xlsx.readFile('D:\\Project1\\testdata\\Book1.xlsx')。然后(函数(){
var worksheet1=workbook.getWorksheet('Sheet2');
var Row=工作表1.getRow(1);
site_num=Row.getCell(2).value;
export_page.enterSiteId(site_num);//这里的问题是,它不会输入值
console.log(site_num);//我可以打印值
var worksheet2=workbook.getWorksheet('Sheet1');
对于(变量i=2;i
它表示无法找到输入站点编号的定位器。我猜您的“工作簿”库所做的任何事情都是异步的,因此请尝试此操作
workbook.xlsx.readFile('D:\\Project1\\testdata\\Book1.xlsx').then(async function () {
var worksheet1 = await workbook.getWorksheet('Sheet2');
var Row = await worksheet1.getRow(1);
site_num = await Row.getCell(2).value;
await export_page.enterSiteId(site_num);
console.log(site_num);
var worksheet2 = await workbook.getWorksheet('Sheet1');
for (var i = 2; i < worksheet2.rowCount; i++) {
var Row = await worksheet2.getRow(i);
site_field = await Row.getCell(1).value;
cust_field = await Row.getCell(2).value;
status = await Row.getCell(3).value;
await template.customField(cust_field);
}
});
export_page.clickSearchBtn(); //Click the search button after the site_num is entered
workbook.xlsx.readFile('D:\\Project1\\testdata\\Book1.xlsx')。然后(异步函数(){
var worksheet1=await workbook.getWorksheet('Sheet2');
var Row=等待工作表1.getRow(1);
site_num=wait Row.getCell(2).value;
等待导出页面。输入站点ID(站点编号);
控制台日志(站点编号);
var worksheet2=await workbook.getWorksheet('Sheet1');
对于(变量i=2;i
我尝试过,但显示了相同的错误。顺便说一下,现场im测试是非角度的。无论如何,我已经通过在beforeAll()中使用readFile找到了解决方案,然后只需在it中使用工作簿即可block@CelesP很高兴你的代码工作正常。我个人使用excel作为json
包进行转换,我喜欢它
workbook.xlsx.readFile('D:\\Project1\\testdata\\Book1.xlsx').then(async function () {
var worksheet1 = await workbook.getWorksheet('Sheet2');
var Row = await worksheet1.getRow(1);
site_num = await Row.getCell(2).value;
await export_page.enterSiteId(site_num);
console.log(site_num);
var worksheet2 = await workbook.getWorksheet('Sheet1');
for (var i = 2; i < worksheet2.rowCount; i++) {
var Row = await worksheet2.getRow(i);
site_field = await Row.getCell(1).value;
cust_field = await Row.getCell(2).value;
status = await Row.getCell(3).value;
await template.customField(cust_field);
}
});
export_page.clickSearchBtn(); //Click the search button after the site_num is entered