Define cell format on AlaSQL/JS-XLSX Excel Export
是否可以在AlaSQL导出到Excel上定义单元格格式?
我正在维护一个使用AlaSQL将网格数据导出到Excel的系统。 问题在于Excel数据没有转换为NUMBER。 DATE值可以,但是数值类型始终显示为"常规"。 通过在JS中强制转换为数字类型,xls文件中将显示消息"数字存储为文本"。
我认为直接使用js-xlsx解决此问题会更容易,但是它将在项目中产生很多更改,因此这不是一个选择。
我需要使用jsFiddle所示的东西,将json选项传递给alasql函数。
下面是一段简单的代码作为示例:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | <head> <script src="http://cdn.jsdelivr.net/alasql/0.2/alasql.min.js"> <script src="http://alasql.org/console/xlsx.core.min.js"> </head> 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(){}]); }; |
感谢您的关注。
AlaSQL具有带有着色功能的XLSXML()导出功能:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | 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]); |
在这里,您可以为工作表中的任何列,行或单元格定义样式。