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