Node.JS:使用alasql将数据从mysql导出到excel

我正在编写一个脚本来使用Node.JS和alasql将数据从mysql导出到excel。 我可以看到这样做的例子 。

var mystyle = { headers:true, column: {style:{Font:{Bold:"1"}}}, rows: {1:{style:{Font:{Color:"#FF0077"}}}}, cells: {1:{1:{ style: {Font:{Color:"#00FFFF"}} }}} }; alasql('SELECT * INTO XLSXML("restest280b.xls",?) FROM ?',[mystyle,data]); 

但是,没有关于variablesdata是什么以及如何构造它的文档,特别是在我使用mysql的logging集的情况下?

 conn.query(SQL, function(err, rows, fields) { ALASQL('SELECT * INTO XLSXML("restest280b.xlsx",?) FROM ?',[mystyle,rows]); }) 

我试图直接使用mysqllogging集。 它写了一个文件,但不能在Excel中打开。

这里的data是一个数组或JSON对象,例如:

 var rows = [{a:1, b:10, c:'One'}, {a:2, b:20, c:'Two'} ]; alasql('SELECT * INTO XLSXML("restest280b.xlsx",?) FROM ?',[mystyle,rows]); 

如果你使用node-mysql包,你的代码应该可以工作。

XLSXML()函数生成XML文件,并且通常Windows版本的MS Excel会产生警告。 如果您将js-xlsx库使用XLSX()函数,则可以将其消除:

 var rows = [{a:1, b:10, c:'One'}, {a:2, b:20, c:'Two'} ]; alasql('SELECT * INTO XLSX("restest280b.xlsx") FROM ?',[rows]);