mvc struts2 使用poi导出excel

来源:互联网 发布:阿里云管理终端登录 编辑:程序博客网 时间:2024/04/24 21:55

1.首先建立一个要导出数据的excel模版,用来存放要导出的数据

2.有页面调用action方法

3.vo层为模型层存放数据类

3.【核心步骤】在action里定义导出数据的类:

属性:private InputStream excelSteam; private String fileName="表的名字";

方法:

 定义表名称,并获得路径fileName=new String(fileName.getBytes("gb2312"),"iso8859-1");    String exclePath=this.getRequest.getSession.getServletContext.getRealPath("/excel模版存放路径");

 声明工作簿HSSFWorkbook wookbook=new HSSFWork((new FileInutStream(excelPath));

 生成表格HSSFSheet sheet=work.getSheet("Sheet1");

 产生表格标题行HSSFRow row=sheet.createRow(1);

 遍历集合数据 产生数据行【我用的list作为结果集】

List<vo层的类名> list=(调用service层的处理类);  for循环结果集 for(int i=0;i<list.size();i++){vo类 对象=list.get(i);   row=sheet.createRow(i+行号);  row.createCell((short)单元格号【从0开始】.setCellValue(对象名.get属性()));}

  ByteArrayOutputStream baos=new ByteArrayOutputStream();  workbook.write(baos); baos.flush(); byte[] aa=baos.toByteArray();  excelStream=new ByteArrayInputStream(aa,0,aa.length);

4.在service层定义List返回类型的方法(vo类 对象){调用dao层 返回list}

5.在dao层定义类,通过JDBC进行查询

6.在struts.xml配置文件中增加  <result name="action类返回的字符串" type="stream">

<!--文件类型--><param name="content">application/vnd.ms-excel</param>

<!---excelStream与对应action中的输入流的名字要一致-><param name="inoutName">excelStream</param>

<!--文件名与action中的fileName一致--><param name="contentDisposition">attachment;fileName="$(fileName).xls"</param>

 

0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 宝宝发高烧怎么办能快速退烧 屁股上长了纹路怎么办 手机充电头歪了怎么办 屁股挠烂了化脓怎么办 手机充电那坏了怎么办 孩子在学校被老师冤枉怎么办 初中学校不好我该怎么办 天气太热屁股淹了怎么办 骑车骑的屁股疼怎么办 爬山时屁股摔紫青了怎么办 宝宝不肯脱裤子拉粑粑怎么办 国家对无地农民怎么办 生完孩子骨架变大怎么办 17岁长高很慢怎么办? 出月子腿着凉了怎么办 脚着凉了脚疼怎么办 腿着凉了特别疼怎么办 孩子骨龄大2两年怎么办 和人吃饭很尴尬怎么办 头不自觉向右偏怎么办 靠墙站立腰疼怎么办 小腿酸痛乏力肌肉萎缩怎么办 搬重物后手臂疼怎么办 和尚鹦鹉吃了盐怎么办 刚买鹦鹉不上手怎么办 word的文件时间改了怎么办 图强gps编码丢失怎么办 武统台湾后岛民怎么办 没有你我怎么办是什么歌 ios 12软件闪退怎么办 来大姨妈想吐怎么办 3岁宝宝体重轻怎么办 硕士延期毕业考上博士怎么办 中国人移民欧洲饮食不习惯怎么办 出车祸了报警警察不管怎么办 高中的孩子不好好上学怎么办 和老公消费观念不合拍怎么办 去医院没带现金怎么办 微信读书下架了怎么办 24岁血压有点高怎么办 吃鸡鼠标弹出来怎么办