导出的Excel中的数据格式错误

时间:2019-04-26 10:25:15

标签: javascript excel formatting js-xlsx sheetjs

我在这里向https://docs.scrapy.org/en/latest/topics/practices.html#run-scrapy-from-a-script求助SheetJS js-xlsx遇到麻烦。我已经放了recently seems not to be supported actively

重点是我想使用非英语数据格式(日期和数字)。当我导出到XLSX文件时,库无法正确处理,并且导出的Excel中的表示信息错误。

2 个答案:

答案 0 :(得分:2)

我的解决方案会有所不同。

使用代码构建自定义excel格式。 随附一个示例,我认为您应该可以对此进行改进。

这是对exportToXls函数的简单重写:

    function exportToXls() {
        var wb = XLSX.utils.book_new();
        var ws = XLSX.utils.json_to_sheet(vm.list, {header: ["date", "number"], cellDates: true});

        // Headers
        ws['A1'].v='Fecha';
        ws['B1'].v='N.º';

        // Data
        for(var i = 0; i < vm.list.length; ++i) {
            ws[`A${i+2}`].z = 'd/m/yy';
        }
        XLSX.utils.book_append_sheet(wb, ws, 'Somename');
        XLSX.writeFile( wb, 'Table.xlsx' );
    }

$$hashkey是由于Angular造成的(使用它来扫描更改)。如下面的示例所示,如果您将使用单独的方法或变量来注入数据,则$$hashkey将不存在。

此处正在执行Codepen

答案 1 :(得分:-1)

我没有所有信息,所以我要在黑暗的x2中盲目刺杀。

1)如果日期以字符串形式返回,则可以尝试使用左,右,中,len等进行解析,然后使用Date函数重新排列。

2)可以更改Excel的基本语言,其作用是更改使用的日期格式。您可以更改为可以正常工作的Excel版本,在那里进行处理,然后转换回原始语言,从而转换文件。

同样,由于缺乏信息,并且缺乏这样做的业务需求,我无法给出更好的答复