我正在将ag-grid
数据导出到excel,其中date
类型的列很少。在打开导出的文件时,我发现date
类型的列未自动格式化为'日期'从IE
导出时的格式。同样的事情在Chrome
中工作正常。下面是格式化日期字符串的代码 -
exportData: function() {
var vm = this;
var params = {
fileName : vm.pageTitle + '.csv',
processCellCallback : function(params) {
if (params.value) {
if(params.column.colId === "endDate" || params.column.colId === "startDate"){
return params.value.toLocaleDateString();
}
}
return params.value;
}
};
vm.gridOptions.api.exportDataAsCsv(params);
}
以下是IE的excel屏幕截图 - 一般格式应为Date
提前感谢您的帮助。
答案 0 :(得分:2)
根据这个question,toLocaleDateString()
在IE中表现得很时髦。我的猜测是它正在添加zero width character。我想这是因为我使用零宽度字符强制excel中的格式设置为一般(我的用例是1/1
需要保持这种方式而不是像excel想要那样转换为1-jan
)
因此,要解决您的问题,您可以自行格式化日期以确保放置哪些字符,或者您可以使用以下内容将任何空格字符重新编号:
.toLocaleDateString().replace(/\s/g,'')