Ag-grid - 导出 excel 不在 IE 中将字符串解析为日期格式
Ag-grid - Exported excel does not parse string to date format in IE
我正在将 ag-grid
数据导出到 excel,其中几乎没有 date
类型的列。打开导出的文件时,我发现 date
类型的列在从 IE
导出时不会自动格式化为 'Date' 格式。同样的事情在 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);
}
下面是 excel IE 截图 - 一般格式应该是 Date
在此先感谢您的帮助。
据此question, toLocaleDateString()
behaves funky in IE. My guess is that it is adding a zero width character。我猜这是因为我使用零宽度字符强制在 excel 中进行格式化(我的用例是 1/1
需要保持这种方式而不是像 [=21] 那样转换为 1-jan
=]想做)
因此,为了解决您的问题,您可以自己格式化日期以确保放置了哪些字符,或者您可以使用正则表达式排除任何空白字符:
.toLocaleDateString().replace(/\s/g,'')
我正在将 ag-grid
数据导出到 excel,其中几乎没有 date
类型的列。打开导出的文件时,我发现 date
类型的列在从 IE
导出时不会自动格式化为 'Date' 格式。同样的事情在 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);
}
下面是 excel IE 截图 - 一般格式应该是 Date
在此先感谢您的帮助。
据此question, toLocaleDateString()
behaves funky in IE. My guess is that it is adding a zero width character。我猜这是因为我使用零宽度字符强制在 excel 中进行格式化(我的用例是 1/1
需要保持这种方式而不是像 [=21] 那样转换为 1-jan
=]想做)
因此,为了解决您的问题,您可以自己格式化日期以确保放置了哪些字符,或者您可以使用正则表达式排除任何空白字符:
.toLocaleDateString().replace(/\s/g,'')