首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Excel .xlsx文件从服务器下载后无法打开

Excel .xlsx文件从服务器下载后无法打开
EN

Stack Overflow用户
提问于 2014-09-11 16:43:09
回答 1查看 12K关注 0票数 1

以下是我的示例代码。我使用eclipse,tomcat服务器.Browser作为IE9。

代码语言:javascript
复制
protected void service(HttpServletRequest request,
            HttpServletResponse response) throws ServletException, IOException {

        response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");


        ServletContext context = request.getServletContext();
        @SuppressWarnings("unchecked")
        List<Student> students = (List<Student>) context.getAttribute("students");
        PrintWriter out = response.getWriter();
        for(Student student:students){
            out.println(student.getId()+"\t"+student.getName());
        }
        out.close();

    }

我正在拿学生名单。但是当我打开下载的文件时,得到的错误提示文件格式或扩展名无效。我下载的文件是.xlsx。

EN

回答 1

Stack Overflow用户

发布于 2014-09-11 16:59:03

我强烈建议您使用HSSFWorkbook类来创建您的excel文件。创建后(有关创建过程,请参阅:this example),您可以将其内容写入响应,如下所示:

代码语言:javascript
复制
Workbook workbook = new XSSFWorkbook();

// Add sheet(s), colums, cells and its contents to your workbook here ...

// First set response headers
response.setContentType("application/vnd.ms-excel");
response.setHeader("Content-Disposition", "attachment; filename=YourFilename.xlsx");

// Get response outputStream
ServletOutputStream outputStream = response.getOutputStream();

// Write workbook data to outputstream
workbook.write(outputStream);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25782961

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档