Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在GWT中导出excel文件?_Java_Excel_Gwt - Fatal编程技术网

Java 如何在GWT中导出excel文件?

Java 如何在GWT中导出excel文件?,java,excel,gwt,Java,Excel,Gwt,我的要求是在单击导出按钮时从GWT应用程序导出excel。在我的例子中,不需要将数据从客户机发送到服务器,因为我可以直接从数据库获取数据(相同的数据正在被导出的客户机上填充)。 我试图从客户端站点发送一个RPC调用。但是我不知道如何在服务器站点接收RPC调用时导出excel。如果不添加第三方产品,就无法在客户端站点上使用本机GWT生成excel文件。(参见下面的knarf答案) 我个人更喜欢这种解决方案: 在客户端上打开一个新窗口 使用在服务器上触发servlet的url 让服务器生成exce

我的要求是在单击导出按钮时从GWT应用程序导出excel。在我的例子中,不需要将数据从客户机发送到服务器,因为我可以直接从数据库获取数据(相同的数据正在被导出的客户机上填充)。
我试图从客户端站点发送一个RPC调用。但是我不知道如何在服务器站点接收RPC调用时导出excel。

如果不添加第三方产品,就无法在客户端站点上使用本机GWT生成excel文件。(参见下面的knarf答案)

我个人更喜欢这种解决方案:

  • 在客户端上打开一个新窗口

  • 使用在服务器上触发servlet的url

  • 让服务器生成excel文件

  • 将新生成的文件保存到Web空间中

  • 将excel文件的url返回到客户端


这对我有用

这当然可能是100%的客户端

您可以使用ExcelJavaScript构建器,例如,并通过jsni或jsinterop从GWT调用它

稍后,您可以通过以下方式保存文件:

  • 对于Internet explorer,例如filesaver.js,使用相同的方法
  • 对于使用HTML5 downloadv(使用FileDownloadBuilder.createFileDownload().generateTextDownloadLink())的其他浏览器
注意:对于生成EXEM文件,您也可以创建一个带有表标记的html文件,并将其另存为.xls,使用filesaver.js保存


我在我的项目中使用了html解决方案和filesaver.js/html5下载,它可以毫无问题地工作,并且不需要任何服务器端代码或客户端上的任何插件。100%HTML5/javascript。

这篇文章中的以下陈述是错误的,因为这在HTML5支持方面没有任何问题:“在客户端网站上生成excel文件是不可能的——既不使用GWT,也不使用任何其他客户端网站技术。这只适用于客户端上安装的东西(Flash f.e.)”