我在angularjs
中使用angular-ui-grid
数字过滤器。在网格中,过滤器工作正常。但是,当我将网格导出到csv
并打开到excel中时,它无法正常工作。
我也在exporterFieldCallback
中添加了过滤器。
在网格中:cellFilter: 'number:6', type: 'number'
和在exporterFieldCallback
中:
if(col.name == 'columnName'){
return $filter('number')(input,6);
}
这些数字在网格上以小数点后6位显示。但是,当我将其导出到
csv
并打开到excel中时,零将被截断。请找到this plunker of angularjs number filter,其中显示的数字具有指定的fractionSize,这在网格中也可以正常工作。但是在输出网格时不一样。
如果网格中的值为
3.000000
,则在excel中仅显示3
。如果网格中的值为
1.415400
,则在excel中仅显示1.4154
。为什么将
angular-ui-grid
导出到csv
并在excel中将其打开时零被截断?如何在Excel中显示与网格中相同的值? 最佳答案
这可能是一个Excel问题,而不是AngularJS问题。
当您在Excel中打开CSV文件时,它将查找数字并对其进行规范化,从而删除前导零和尾随零。您可以(希望)通过在文本编辑器中打开CSV文件并检查其开头和结尾的零来查看CSV文件是否正确。
根据需要将数据导入Excel的频率,有两个不同的选项,但是由于您只想将值保留到小数点后6位,最简单的方法可能是导入数据,然后使用增加十进制选项:
关于javascript - AngularJS数字过滤器无法与UI网格正常工作,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33206722/