Ag-grid - 导出的 excel 不会在 IE 中将字符串解析为日期格式
Posted
技术标签:
【中文标题】Ag-grid - 导出的 excel 不会在 IE 中将字符串解析为日期格式【英文标题】:Ag-grid - Exported excel does not parse string to date format in IE 【发布时间】:2017-10-17 05:33:33 【问题描述】:我正在将ag-grid
数据导出到具有很少date
类型列的excel。在打开导出的文件时,我观察到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
提前感谢您的帮助。
【问题讨论】:
作为澄清,您正在将数据导出到 csv 文件,然后要求 excel 打开该文件......并且由于 csv 文件不包含数据类型定义,Excel 需要 推断数据类型...你说从 chrome 导出工作正常吗? 【参考方案1】:根据question,toLocaleDateString()
在 IE 中的行为很时髦。我的猜测是它正在添加一个zero width character。我猜这是因为我已经使用零宽度字符强制在 excel 中进行格式化(我的用例是 1/1
需要保持这种状态,而不是像 excel 想要的那样转换为 1-jan
)
因此,为了解决您的问题,您可以自己格式化日期以确保放置了哪些字符,或者您可以使用以下方式正则表达式输出任何空白字符:
.toLocaleDateString().replace(/\s/g,'')
【讨论】:
谢谢@Jarod。你的回答有帮助。这确实是toLocaleDateString()
的问题。现在我将日期格式化为(date.getMonth() + 1) + '/' + date.getDate() + '/' + date.getFullYear()
,它可以工作了。以上是关于Ag-grid - 导出的 excel 不会在 IE 中将字符串解析为日期格式的主要内容,如果未能解决你的问题,请参考以下文章
在 ag-grid 上使用正确的单元格格式导出到 excel
Ag-grid 导出(Excel 样式):一个表的导出覆盖另一个表导出的样式/格式
AG-GRID Excel 导出:AG-Grid 中是不是有任何方法可以为每个用户配置记录导出限制?
上下文菜单导出中的 ag-grid 企业自定义页脚 excel 和 CSV
在 ag-grid Excel 导出中,如何使空日期时间类型为空单元格而不是 1900.01.00
如何使用 ag-grid 导出到具有 Angular 6 的大数据(50,000 行)的 excel 功能(内存不足错误)?