javascript - Angularjs 数字过滤器无法与 ui 网格正常工作

标签 javascript angularjs excel angular-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 中打开时,零被 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 使用“增加小数点”选项:Increase Decimal button in Excel

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

相关文章:

javascript - Vue.js 组件自定义非响应式(Reactive)属性安全名称

mysql - 连接到 Node js 服务器时出现错误(angularjs、nodejs、mysql 连接)

javascript - 如何将 ng-click 绑定(bind)到插入指令嵌入 HTML block 内的 HTML block

angularjs - 如何使用$resource从本地json文件获取数据

javascript - relatedObject 属性的用途

javascript - IE11 - 从第 2 页开始的表格单元格边框问题

javascript - 表单提交仅运行 Javascript 函数一秒钟

python - 如何使用 pandas 处理 unicode 字符并打印到屏幕?

vba - 如何将电子表格中的单元格设置为只读?

java - Apache 兴趣点。在 Excel 中设置数据过滤器