GWT:将excel文件写入客户端

时间:2014-09-03 18:11:44

标签: java gwt

我正在使用jakartaPOI在我的GWT应用程序中创建一个excel文件 因为它不允许我在客户端编写代码, 所以我有在我的服务器端编写excel文件的代码。

这会在服务器计算机上正确创建excel文件 我想要的是在客户端/用户机器上创建相同的excel文件。

这是否有解决方案

谢谢

代码:

         try {
        FileOutputStream fileOut = new FileOutputStream("D:\\POI111.xls");
        HSSFWorkbook workbook = new HSSFWorkbook();
        HSSFSheet worksheet = workbook.createSheet("POI Worksheet");

        // index from 0,0... cell A1 is cell(0,0)
        HSSFRow row1 = worksheet.createRow((short) 0);

        HSSFCell cellA1 = row1.createCell((short) 0);
        cellA1.setCellValue(dto.getColumn1());


        workbook.write(fileOut);
        fileOut.flush();
        fileOut.close();
    } catch (FileNotFoundException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    }
    return "exported";
}

3 个答案:

答案 0 :(得分:1)

您无法使用javascript(GWT客户端)将文件保存到客户端系统。 Java脚本无法访问磁盘内容。因此,如果您需要在客户端系统中保存文件,一个选项是在服务器端生成文件,让客户端下载该文件并保存。

答案 1 :(得分:0)

看到GWT被编译成javascript,并且在javascript中创建任何类型的文件是不可能的(并且正确地如此),在GWT中你不想做什么。 冒着被无情地拒绝投票的风险,可以使用flash脚本执行此操作,根本不知道flash我无法告诉你如何。尽管如此,我建议完全抛弃这个想法。不应该改变客户端机器。

答案 2 :(得分:0)

您可能想要下载该文件。因此,您应该在服务器上创建该文件,并向客户端传递一个id,该ID可用于映射位于服务器上的文件的位置。使用Servlet您应该能够下载文件。至于您对电子邮件应用程序文件下载的评论,该文件不会在客户端系统上创建,而是下载。您可能希望查看downloading file上的现有帖子。