jxls导出功能代码
来源:互联网 发布:matlab破解软件 编辑:程序博客网 时间:2024/05/29 03:30
jxls导出功能
jsp页面
<shiro:hasPermission name="rgssys:projectsInfo:import"><table:importExcel url="${ctx}/rgssys/projectsInfo/import"></table:importExcel><!-- 导入按钮 --></shiro:hasPermission><shiro:hasPermission name="rgssys:projectsInfo:import"><button onclick="importManmonthInfos()" class="btn btn-white btn-sm" data-toggle="tooltip" data-placement="left" title="导入工时"><i class="fa fa-folder-open-o"></i>导入工时</button></shiro:hasPermission><shiro:hasPermission name="rgssys:projectsInfo:export"> <table:exportExcel url="${ctx}/rgssys/projectsInfo/export"></table:exportExcel><!-- 导出按钮 --> </shiro:hasPermission>controller层
/** * 导出excel文件 */@RequiresPermissions("rgssys:projectsInfo:export") @RequestMapping(value = "export", method=RequestMethod.POST) public void exportFile(ProjectsInfo projectsInfo, HttpServletRequest request, HttpServletResponse response, RedirectAttributes redirectAttributes) {try {String year = request.getParameter("year");if(StringUtils.isBlank(year)){year = DateUtils.getDate("yyyy");}String fileName = year + "年项目人员信息表"; Page<ProjectsInfo> page = projectsInfoService.findPage(new Page<ProjectsInfo>(request, response, -1), projectsInfo); XLSTransformer transformer = new XLSTransformer();Map<String , Object> model = new HashMap<String , Object>();model.put("list", this.getProjectData(page.getList(), year));List<ManmonthInfo> manmonthInfos = new ArrayList<ManmonthInfo>();List<ProjectMemberInfo> memberInfos = new ArrayList<ProjectMemberInfo>();for(ProjectsInfo info : page.getList()){memberInfos.addAll(projectsInfoService.get(info.getId()).getProjectMemberInfoList());info.setYear(String.valueOf(year));manmonthInfos.addAll(projectsInfoService.getManmonthInfoList(info));}//人员投入状况model.put("personTypeList", this.getDictNum("personType", memberInfos, Integer.parseInt(year)));//人员保有状况model.put("personLevelList", this.getPersonNum("job", Integer.parseInt(year)));//工数状况Map<String, Map<String, Double>> manDayDataMap = this.getManDayData(manmonthInfos);model.put("pMap", manDayDataMap.get("pMap"));//预想model.put("rMap", manDayDataMap.get("rMap"));//实际model.put("mMap", manDayDataMap.get("mMap"));//投入String templateFileName = request.getServletContext().getRealPath("/") + "/WEB-INF/model/projectInfo.xlsx";InputStream is = new BufferedInputStream(new FileInputStream(templateFileName));Workbook workbook = transformer.transformXLS(is, model);this.saveExcelFile(workbook, fileName, response);} catch (Exception e) {e.printStackTrace();addMessage(redirectAttributes, "导出项目信息失败!失败信息:"+e.getMessage());} }public void saveExcelFile(Workbook workbook, String xlsTemplateName, HttpServletResponse response) { //设置导出弹出框,以及下载文件名称 response.setContentType("application/octet-stream; charset=utf-8"); response.setHeader("Content-Disposition","attachment;filename="+Encodes.urlEncode(xlsTemplateName)+".xlsx"); OutputStream os = null; try { os = response.getOutputStream(); workbook.write(os); os.flush(); os.close(); } catch (IOException e) { e.printStackTrace(); } }
如果控制台报如下信息 的话 就是需要把模板文件后缀改成 2003版本 以 xls结尾的Excel 代码里面的xlsx替换为xls就好了
<main:c r="A3" t="s">
<main:v>9</main:v>
</main:c>
</xml-fragment>, hssfCell=null, fileName=程序猿被投票者得分统计表, list=[com.weidingplus.mall.web.mybatis.pojo.WdpVoteCandidate@186e252, com.weidingplus.mall.web.mybatis.pojo.WdpVoteCandidate@74a055, com.weidingplus.mall.web.mybatis.pojo.WdpVoteCandidate@ca4b75, com.weidingplus.mall.web.mybatis.pojo.WdpVoteCandidate@11ff4e2], sheet=Name: /xl/worksheets/sheet1.xml - Content Type: application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml}, Body: Block (2, -1, 4, -1)
阅读全文
1 0
- jxls导出功能代码
- java使用jxls导出excel功能
- java使用jxls导出excel功能
- java使用jxls导出excel功能
- JXLS-----JXLS导出Excel
- JXLS-----JXLS导出Excel实例
- Jxls 导出excel
- jxls模板导出excel
- Jxls 导出excel
- jxls模板导出excel
- jxls导出excel
- Excel 模板导出---JXLS
- jxls导出xls 报表
- JXLS模板导出EXCEL
- jxls导出excel
- jxls--按模板导出
- zk中用jxls导出excel
- 使用jxls分页导出excel
- java中String、StringBuffer、StringBuilder的区别
- 909422229_SpringBoot深入理解
- bnu51124 Simple String Problem
- disruptor 解析
- 递归思路(另附一个迭代小实例)
- jxls导出功能代码
- Thinkphp模板引擎(疑问)
- Underscore.js 中 _.throttle 和 _.debounce 的差异
- Android 开源框架Universal-Image-Loader完全解析(一)--- 基本介绍及使用
- 【转】Spring+Netty+Protostuff+ZooKeeper实现轻量级RPC服务(二)
- *(网络流)费用流复习~
- android 6.0+ java.lang.IllegalStateException did not call finish() prior to onResume() completing
- Javascript值类型和引用类型
- html5添加背景音乐