【发布时间】:2017-02-21 13:10:26
【问题描述】:
我还可以为列提供颜色、宽度&现在我想格式化一个我们发送到 excel 的数字(即,我发送 0 它应该在 excel 中显示为 0.00):这怎么可能?
【问题讨论】:
标签: alasql
我还可以为列提供颜色、宽度&现在我想格式化一个我们发送到 excel 的数字(即,我发送 0 它应该在 excel 中显示为 0.00):这怎么可能?
【问题讨论】:
标签: alasql
我知道现在回答这个问题为时已晚,但对于正在寻找固定小数为 2 的格式化数字的人会有所帮助。 您可以通过添加到 alasql.fn 对象来定义您的自定义函数,如下所示
alasql.fn.precise_round = function (num, dec) {
if ((typeof num !== 'number') || (typeof dec !== 'number'))
return false;
console.log(num);
var num_sign = num >= 0 ? 1 : -1;
return (Math.round((num * Math.pow(10, dec)) + (num_sign * 0.0001)) / Math.pow(10, dec)).toFixed(dec);
}
alasql.fn.numberWithCommas = function (num) {
return num.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",");
}
您现在可以在 alasql 选择查询中使用此功能
var data = alasql("SELECT INTO XLSX precise_round(column_name) from ?", [objData]);
alasql("SELECT INTO XLSX('Test.xlsx', { headers: true}) FROM ?", [data]);
假设您在 objData 中的一列包含数字,包括 0 以及根据您的要求输出为 0.00
【讨论】: