使用mssql中的数据渲染XLSX配方时出现此错误
发生错误 - 渲染报告期间出错:无法读取属性 未定义的'xl / worksheets / sheet1.xml'Stak - TypeError:无法读取 未定义的属性'xl / worksheets / sheet1.xml' 在Object.add(evalmachine。:176:42) 在对象。 (evalmachine.:406:17) 在Object.eval(eval at createFunctionContext
我设置了链接脚本来加载数据。例如:
var sql = require('mssql');
var config = {
"user": "jsreport",
"password": "password",
"server": "janblaha-PC\\SQLEXPRESS",
"database": "northwind"
}
function beforeRender(done) {
sql.connect(config).then(function() {
var req = new sql.Request();
return req.query('select count(*) as Count, ShipCountry from Orders group by ShipCountry').then(function(recordset) {
request.data = { countries: recordset };
done();
});
}).catch(done);
}
我可以将数据加载到pdf,html甚至html-xlsx中,没有错误。我试着只使用一个基本表,我可以在没有脚本的情况下加载,如下所示。我也尝试使用{{#each }}
语句中的数据。我总是得到同样的错误。想知道是否有人试图这样做和/或我是否需要以不同的方式加载我的数据。
{{#xlsxAdd "xl/worksheets/sheet1.xml" "worksheet.sheetData[0].row"}}
<row>
<c t="inlineStr"><is><t>Hello world</t></is></c>
<c><v>11</v></c>
</row>
{{/xlsxAdd}}
{{{xlsxPrint}}}
答案 0 :(得分:1)
在Github上收到答案:
//old
request.data = { countries: recordset };
//new
Object.assign(request.data, { countries: recordset })
配方正在将一些额外的数据传递给模板引擎 处理,你正在覆盖它们。