我在这里寻求有关SheetJS js-xlsx最近似乎没有得到积极支持的问题的帮助。我已经提出了一个问题。
关键是我想使用非英语数据格式(日期和数字)。当我导出到 XLSX 文件时,库无法正确处理,并且导出的 Excel 中表示的信息是错误的。
我在这里寻求有关SheetJS js-xlsx最近似乎没有得到积极支持的问题的帮助。我已经提出了一个问题。
关键是我想使用非英语数据格式(日期和数字)。当我导出到 XLSX 文件时,库无法正确处理,并且导出的 Excel 中表示的信息是错误的。
我的解决方案会有所不同。
在代码中构建自定义 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。
我没有所有的信息,所以我在黑暗中盲目刺伤 x2:
1) 如果日期是作为字符串返回的,您可以尝试使用 left、right、mid、len 等来解析它,然后使用 Date 函数重新排列它。
2)可以更改Excel的基础语言,这具有更改正在使用的日期格式的效果。您可以更改为工作正常的 Excel 版本,在那里进行处理,然后转换回原始语言,这将转换文件。
同样,由于缺乏信息,并且缺乏执行此操作的业务需求,我无法给出更好的回应