1

我正在编写一个脚本,使用 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]);

但是,没有关于变量data是什么以及我应该如何构造它的文档,特别是在我使用 mysql 的记录集的情况下?

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

我尝试直接使用mysql记录集。它写了一个文件,但无法在excel中打开。

4

1 回答 1

0

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 会产生警告。如果您将 XLSX() 函数与 js-xlsx 库一起使用,则可以消除它:

var rows = [{a:1, b:10, c:'One'}, {a:2, b:20, c:'Two'} ];
alasql('SELECT * INTO XLSX("restest280b.xlsx") FROM ?',[rows]); 
于 2016-02-05T13:15:44.533 回答