我在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网格正常工作-LMLPHP

关于javascript - AngularJS数字过滤器无法与UI网格正常工作,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33206722/

10-11 22:26
查看更多