struts2中将jsp table中的数据导出到excel表格中

原创 2013年12月04日 20:09:11

struts2中将jsp table中的数据导出到excel表格中

近日,在做一个练习,将jsp的table中显示的数据导出到excel表格中(数据来自数据库),项目使用SSH框架,jsp页面有一个连接,连接到后台一个action,该action负责把数据写入excel文件。

相关代码如下:


//jsp连接
<a href="exportDataToExcel">导出数据</a>
//struts2 action配置
 <action name="exportDataToExcel" class="com.petstore.action.ExportDataToExcel"
            method="exportData">
            <result name="data">/</result>
 </action>
//action代码

public class ExportDataToExcel extends ActionSupport {
    List<Log> logList = null;

    public String exportData() {

        Map<String, Object> session = ActionContext.getContext().getSession();
        logList = (List<Log>) session.get("logList");
        HttpServletResponse response = ServletActionContext.getResponse();

        // 创建工作表
        WritableWorkbook book = null;
        // response.reset();
        // 创建工作流
        OutputStream os = null;
        try {
            // 设置弹出保存对话框
            response.setContentType("application/x-msdownload");
           
            SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddhhmmss");
            //文件名,以当前秒为文件名
            String fileName = sdf.format(new Date());
            response.setHeader("Content-Disposition", "attachment; filename="
                    + fileName + ".xls");// 设置生成的文件名字
            os = response.getOutputStream();

            // 初始化工作表
            book = Workbook.createWorkbook(os);

        } catch (IOException e1) {
            e1.printStackTrace();
        }
        try {
           
            WritableSheet sheet = book.createSheet("日志信息", 0);
            
            // 字段名
            sheet.addCell(new jxl.write.Label(0, 0, "日志ID"));
            sheet.addCell(new jxl.write.Label(1, 0, "用户姓名"));
            sheet.addCell(new jxl.write.Label(2, 0, "用户IP"));
            sheet.addCell(new jxl.write.Label(3, 0, "请求路径"));
            sheet.addCell(new jxl.write.Label(4, 0, "是否登录"));
            sheet.addCell(new jxl.write.Label(5, 0, "请求时间"));
            // 添加数据
            for (int i = 1; i < logList.size(); i++) {

                sheet.addCell(new jxl.write.Label(0, i, logList.get(i)
                        .toString()));
                sheet.addCell(new jxl.write.Label(1, i, logList.get(i)
                        .getUsername()));
                sheet
                        .addCell(new jxl.write.Label(2, i, logList.get(i)
                                .getIp()));
                sheet
                        .addCell(new jxl.write.Label(3, i, logList.get(i)
                                .getUrl()));
                sheet.addCell(new jxl.write.Label(4, i, logList.get(i)
                        .getIsSuccess()));
                sheet.addCell(new jxl.write.Label(5, i, logList.get(i)
                        .getDate()));

            }
            book.write();
            book.close();
        } catch (Exception e) {
            e.printStackTrace();
        }

        return "data";

    }

}
 

结果如图


相关文章推荐

struts2导出数据到excel中方法(模板方法)

现在的项目需要把用户反馈的信息表中的数据导出到excel的需求。之前做过类似的事情,但是时间已经久远,只能网上搜了一下,对于struts2,基本使用poi的方法,但是感觉网上的方法比较乱及不靠谱(没有...

Struts 2导出EXCEL

view plaincopy to clipboardprint?import java.io.IOException;    import java.io.OutputStream;    impo...
  • lenolong
  • lenolong
  • 2009年03月05日 00:44
  • 10111

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

将jsp内容导出为Excel表简单实例

在网络上有很多关于jsp页面导出为Excel表格的例子,但好多是需要前台与后台相互关联实现的,我在这里的实例是只需要在jsp页面写代码即可实现,代码如下: testExcel.jsp页面代码: ...

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

Jsp中导出查询结果到excel文件的简单方法

近日,为了实现把Jsp页面中的查询结果集输出到excel文件中,在网上搜索了好些资料,但大部分都是用第三方的api来实现功能,感觉很麻烦,因为我只需要很简单的功能.最后,我找到了一种方法,它只需要设置...

使用jsp导出到excel汇总

设置excel的导出格式因为ms word和excel的文档都支持html文本格式,因此可以先用word或excel做好模版,另存为Web页,然后将该html改成jsp,将数据部分动态填入即可,不用很...

JSP从数据库导出数据到Excel下载的实现

JSP从数据库导出数据到Excel下载的实现,包含代码例子.
  • 5iasp
  • 5iasp
  • 2013年10月17日 15:24
  • 7950

jsp页面将数据导出到Excel

最近做了一个功能,通过jsp页面点击导出按钮将查询出来的数据导出到Excel中。 由于以前也做过类似的导出功能,但是每次做都看看以前的代码,或者再上网查所以开发的效率非常低,所以今天花一点时间将这个导...
  • wyc_cs
  • wyc_cs
  • 2013年06月28日 13:31
  • 4689
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:struts2中将jsp table中的数据导出到excel表格中
举报原因:
原因补充:

(最多只允许输入30个字)