-1

我在这里寻求有关SheetJS js-xlsx最近似乎没有得到积极支持的问题的帮助。我已经提出了一个问题

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

4

2 回答 2

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

于 2019-05-10T21:14:17.160 回答
-1

我没有所有的信息,所以我在黑暗中盲目刺伤 x2:

1) 如果日期是作为字符串返回的,您可以尝试使用 left、right、mid、len 等来解析它,然后使用 Date 函数重新排列它。

2)可以更改Excel的基础语言,这具有更改正在使用的日期格式的效果。您可以更改为工作正常的 Excel 版本,在那里进行处理,然后转换回原始语言,这将转换文件。

同样,由于缺乏信息,并且缺乏执行此操作的业务需求,我无法给出更好的回应

于 2019-05-09T19:21:34.690 回答