1

在我的 Angular js 项目中使用 Node.js 将网格导出到 excel,这是我的代码:

 inventaire.exportMyDataVille = function(data) {

        var city='Safi';
        alasql('SELECT * INTO XLSX("data.xlsx",{headers:true}) FROM ? WHERE secteur='+city+' GROUP BY secteur,agence,serie', [inventaire.myDataSource]);
    };

我想做的是在 alasql 中传递一个参数,但它给出了一个空的 excel 文件?请求中是否有问题

4

2 回答 2

1

在 SQL 子句中应用字符串值时,您需要将它们用引号括起来。

根据您之前的选择,使用双引号,如下所示:

alasql('SELECT * INTO XLSX("data.xlsx",{headers:true}) FROM ? WHERE secteur="'+city+'" GROUP BY secteur,agence,serie', [inventaire.myDataSource]);.

注意从'+city+'到的变化"'+city+'"

于 2017-01-06T13:29:44.660 回答
1

在这种情况下,alasql函数需要格式( query, [[data], argument, argument, argumentN] )

所以应该是:

alasql('... FROM ? WHERE secteur = ? ...', [inventaire.myDataSource, city]);

inventaire.myDataSource必须遵循格式[{secteur:'aaa'}, {secteur:'bbb'}, {secteur:'ccc'}]

于 2021-02-14T14:22:37.940 回答