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]);