【发布时间】:2017-03-21 15:03:22
【问题描述】:
我正在使用UI-Grid 在我的 Angular 应用程序上创建网格视图。 UI-Grid 提供将过滤后的完整网格数据导出为 csv 或 pdf 格式。但是我需要将数据导出到excel中。
我使用早期的 Alasql 来导出网格数据,但是我使用 ng-repeat 来生成网格。
这里 Ui-grid 指令负责生成网格,通过使用 UI-Grid 指令公开的简单方法,我们可以导出数据。只是想知道是否有人尝试将数据导出到 excel 中。
不共享代码,因为我使用的是 UI-Grid 教程提供的相同代码,它对我有用,只是我需要导出到 excel 文件中。
【问题讨论】:
-
我现在想到的最简单的方法是生成csv格式的内容,并将其下载为带有csv扩展名的blob对象
-
csv 数据应该会自动在 Excel 中打开。我也在使用 UI-Grid,当我导出为 csv 并单击“打开”时,Excel 将打开,数据显示在工作表中。打开下载的 csv 数据时会发生什么?
-
一般当我们在excel中打开一个csv文件时,所有的数据都在一个列中。除非我们曾经使用 Data> From text 选项将 csv 导入 excel 并提到 ',' 作为分隔符。即使我们对任何 csv 文件执行了一次此操作,excel 也会应用相同的分隔符并在不同的列中生成数据,以便以后我们在 excel 中打开 csv。
-
@neptune:我会试试这个选项。当前,我正在尝试获取所有过滤列和数据的列表,然后尝试将其写为 blob 对象。
-
对于这样的事情,如果后端是 Java,我通常会使用 Apache POI 之类的东西来调用后端。那里有一个 JS 库,但不再维护它可能会引起人们的兴趣:github.com/stephenliberty/excel-builder.js。
标签: javascript angularjs angular-ui-grid