在AlaSQL / JS-XLSX Excel导出中定义单元格格式

是否可以在AlaSQL上定义单元格格式导出到Excel?

我正在维护一个使用AlaSQL将网格数据导出到Excel的系统。 问题是Excel数据没有被转换为NUMBER。 date是好的,但数字types总是显示为常规。 通过在JS中强制转换为Numbertypes,在xls文件中显示消息“Number stored as Text”。

我认为用js-xlsx直接解决这个问题比较容易,但是会在项目中产生很多变化,这不是一个选项。

我需要使用这个jsFiddle中显示的东西,将json选项传递给alasql函数。

下面是一个简单的代码作为一个问题的例子:

<head> <script src="http://cdn.jsdelivr.net/alasql/0.2/alasql.min.js"></script> <script src="http://alasql.org/console/xlsx.core.min.js"></script> </head> <script> function download() { var opts = { sheetid: 'Default', headers: true }; alasql.fn.to_number = function(val){ return new Number(val); }; var query = 'SELECT to_number("1") as NumericColumn INTO XLSX("Test.xlsx", ?)'; alasql(query, [opts, function data(){}]); }; </script> 

我感谢你的关注。

AlaSQL具有带着色function的XLSXML()导出function:

 var data = [{city:"London",population:5000000}, {city:"Moscow",population:12000000}, {city:"Mexico",population:20000000}, {city:"New York",population:20000000}, ]; var opts = { 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 ?',[opts,data]); 

在这里,您可以为工作表中的任何列,行或单元格定义样式。