Angularjs 数字过滤器无法与 ui 网格一起正常工作
Angularjs number filter not working properly with ui grid
我在 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 时,零被截断了。
请找到 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 文件是正确的,方法是在文本编辑器中打开它并检查它是否有前导和尾随零。
根据您需要将数据导入 Excel 的频率,有几个不同的选项,但由于您只需要小数点后 6 位的值,最简单的可能是导入数据,然后使用“增加十进制”选项在 Excel 内重新格式化:
我在 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 时,零被截断了。
请找到 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 文件是正确的,方法是在文本编辑器中打开它并检查它是否有前导和尾随零。
根据您需要将数据导入 Excel 的频率,有几个不同的选项,但由于您只需要小数点后 6 位的值,最简单的可能是导入数据,然后使用“增加十进制”选项在 Excel 内重新格式化: