如何在 GWT 中导出 excel 文件?
How to export excel file in GWT?
我的要求是在单击导出按钮时从 GWT 应用程序导出 excel。在我的例子中,不需要将数据从客户端发送到服务器,因为我可以直接从数据库获取数据(正在导出的客户端上正在填充相同的数据)。
我尝试从客户端站点发送 RPC 调用。但我无法弄清楚如何在服务器站点接收到 RPC 调用时导出 excel。
如果不添加第三方产品,则无法使用本机 GWT 在客户端站点上生成 excel 文件。 (请参阅下面的 knarf 答案)
我个人更喜欢这个解决方案:
在客户端
上打开一个新的window
使用 url,在服务器上触发 servlet
让服务器生成excel文件
将新生成的文件保存在空间内
return url 到 excel 文件给客户端
这对我有用。
这肯定是 100% 客户端。
您可以使用像 https://github.com/stephenliberty/excel-builder.js 这样的 Excel JavaScript 构建器,并使用 jsni 或 jsinterop 从 GWT 调用它。
稍后您可以通过
保存文件
- 对于 Internet explorer 例如 filesaver.js https://github.com/eligrey/FileSaver.js/ 以同样的方式。
- 对于使用 HTML5 从 https://github.com/akjava/html5gwt
下载的其他浏览器(使用 FileDownloadBuilder.createFileDownload().generateTextDownloadLink())
关于生成 Excem 文件的注意事项,您也可以只创建一个带有 table 标签的 html 文件并将其保存为 .xls,并带有 filesaver.js。
我使用 html 解决方案和文件保护程序。js/html5 在我的项目中下载,这没有问题,并且不需要任何服务器端代码或客户端上的任何插件。 100% HTML5/javascript.
我的要求是在单击导出按钮时从 GWT 应用程序导出 excel。在我的例子中,不需要将数据从客户端发送到服务器,因为我可以直接从数据库获取数据(正在导出的客户端上正在填充相同的数据)。 我尝试从客户端站点发送 RPC 调用。但我无法弄清楚如何在服务器站点接收到 RPC 调用时导出 excel。
如果不添加第三方产品,则无法使用本机 GWT 在客户端站点上生成 excel 文件。 (请参阅下面的 knarf 答案)
我个人更喜欢这个解决方案:
在客户端
上打开一个新的window
使用 url,在服务器上触发 servlet
让服务器生成excel文件
将新生成的文件保存在空间内
return url 到 excel 文件给客户端
这对我有用。
这肯定是 100% 客户端。
您可以使用像 https://github.com/stephenliberty/excel-builder.js 这样的 Excel JavaScript 构建器,并使用 jsni 或 jsinterop 从 GWT 调用它。
稍后您可以通过
保存文件- 对于 Internet explorer 例如 filesaver.js https://github.com/eligrey/FileSaver.js/ 以同样的方式。
- 对于使用 HTML5 从 https://github.com/akjava/html5gwt 下载的其他浏览器(使用 FileDownloadBuilder.createFileDownload().generateTextDownloadLink())
关于生成 Excem 文件的注意事项,您也可以只创建一个带有 table 标签的 html 文件并将其保存为 .xls,并带有 filesaver.js。
我使用 html 解决方案和文件保护程序。js/html5 在我的项目中下载,这没有问题,并且不需要任何服务器端代码或客户端上的任何插件。 100% HTML5/javascript.