java导出excel报表

1、使用的是ssm框架,maven构建项目

2、使用jxls

3、maven依赖:

<dependency>

    <groupId>net.sf.jxls</groupId>

    <artifactId>jxls-core</artifactId>

    <version>1.0.5</version>

   </dependency>

 

    <dependency>

      <groupId>net.sf.jxls</groupId>

      <artifactId>jxls-reader</artifactId>

      <version>1.0.5</version>

    </dependency>

4、代码实现

@RequestMapping("/alarmTopdf")

@ResponseBody

public AjaxResult alarmTopdf(HttpServletRequest req,HttpServletResponse response) throws OprException, ParseException{

AjaxResult ajaxResult = new AjaxResult();

List<RealData> list = (List<RealData>) SecurityUtils.getSubject().getSession().getAttribute("lm");

HashMap map = (HashMap) SecurityUtils.getSubject().getSession().getAttribute("pmap");

HashMap beans = new HashMap();   

String fileFlag = String.valueOf(System.currentTimeMillis());

String dataInfo = "";

 

String path = req.getSession().getServletContext().getRealPath("/"); 

String userInfo = null;

String templateDir = path+"/excel-template/historyalarm.xls";//

SimpleDateFormat sf = new SimpleDateFormat("yyyyMMddHHmmss");

fileFlag = sf.format(new Date());

String outPutDir = path+"/outfile/报表告警数据"+fileFlag+".xls";

InputStream  inputStream = null;

 

XLSTransformer xls = new XLSTransformer();

beans.put("list", list);

beans.put("map", map);

try {

xls.transformXLS(templateDir,beans,outPutDir);

userInfo = "/outfile/报表告警数据"+fileFlag+".xls";

} catch (ParsePropertyException e) {

e.printStackTrace();

} catch (InvalidFormatException e) {

e.printStackTrace();

} catch (IOException e) {

e.printStackTrace();

}

AjaxResult result = ajaxResult.success(userInfo);

return result;

}

 

分析

在做这个的时候 遇到一个坑:一定要有这个的,不然是不会出现excel文件的

 excel模板:jstl表达式实现

 

posted @ 2018-06-06 08:50  文刀水告  阅读(243)  评论(0编辑  收藏  举报