将数据导出到excel&将其格式化为要求

时间:2017-02-21 13:10:27

标签: alasql

我能够为列提供颜色和宽度。现在我想格式化一个我们发送给excel的号码(即 我发送0它应该在excel中显示为0.00 ):怎么可能?< / p>

经历了Define cell format on AlaSQL/JS-XLSX Excel Export

1 个答案:

答案 0 :(得分:0)

我知道现在回答这个问题为时已晚,但是对于正在寻找固定小数位数为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