Angularjs数字过滤器无法正常使用ui网格

时间:2015-10-19 04:39:11

标签: javascript angularjs excel angular-ui-grid

我在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中显示与网格上显示的值相同的值?

1 个答案:

答案 0 :(得分:1)

这可能是一个Excel问题,而不是AngularJS问题。

在Excel中打开CSV文件时,它会查找数字并对其进行标准化,删除前导零和尾随零。您可以(希望)通过在文本编辑器中打开CSV文件并检查它是否具有前导和尾随零来查看您的CSV文件是否正确。

根据您需要将数据导入Excel的频率,有几个不同的选项,但由于您只需要6个小数位的值,最简单的可能是导入数据然后重新格式化它在Excel中使用“增加十进制”选项:Increase Decimal button in Excel