spring mvc 条件查询导出excel
来源:互联网 发布:加油卡办卡通知 编辑:程序博客网 时间:2024/05/22 04:44
excel 的操作是基于apache POI 开源项目,这个项目能操作excel,word等
官网:https://poi.apache.org/
maven依赖
<dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>3.10-FINAL</version></dependency>
spring mvc可以支持excel的下载 继承AbstractExcelView
eg:View层:QrmallCashExcelView
public class QrmallCashExcelView extends AbstractExcelView { @SuppressWarnings("unchecked") @Override protected void buildExcelDocument(Map<String, Object> model, HSSFWorkbook workbook, HttpServletRequest request, HttpServletResponse response) throws Exception { List<QrmallCash> items = (List<QrmallCash>) model.get("items"); HSSFSheet sheet = workbook.createSheet(); sheet.setDefaultColumnWidth(30); HSSFCellStyle style = getTableTitle(workbook); getCell(sheet, 0, 0, style, "昵称"); getCell(sheet, 0, 1, style, "姓名"); getCell(sheet, 0, 2, style, "金额"); getCell(sheet, 0, 3, style, "时间"); for (int i = 0; i < items.size(); i++) { QrmallCash item = items.get(i); User user = item.getUser(); String name = user.getIdent() == null || StringUtils.isEmpty(user.getIdent().getName()) ? "" : user.getIdent().getName(); getCell(sheet, i + 1, 0, style, name); getCell(sheet, i + 1, 1, style, user.getNickname()); getCell(sheet, i + 1, 2, style, item.getAmount() / 100 + "元"); getCell(sheet, i + 1, 3, style, DateFormatUtils.format( item.getCdate(), "yyyy-MM-dd HH:mm:ss")); } StringBuffer fileName = new StringBuffer() .append("平台资金流转情况报表") .append(DateFormatUtils.format(System.currentTimeMillis(), "yyyy-MM-dd")).append(".xls"); response.setContentType("application/vnd.ms-excel"); response.setHeader("Content-disposition", "attachment;filename=" + URLEncoder.encode(fileName.toString(), "UTF-8")); OutputStream outputStream = response.getOutputStream(); workbook.write(outputStream); outputStream.flush(); IOUtils.closeQuietly(outputStream); } public HSSFCell getCell(HSSFSheet sheet, int row, int col, HSSFCellStyle style, String text) { HSSFCell cell = getCell(sheet, row, col); cell.setCellStyle(style); setText(cell, text); return cell; } private void processBaseStyle(HSSFCellStyle style) { style.setBorderTop(HSSFCellStyle.BORDER_THIN); style.setBorderBottom(HSSFCellStyle.BORDER_THIN); style.setBorderLeft(HSSFCellStyle.BORDER_THIN); style.setBorderRight(HSSFCellStyle.BORDER_THIN); } private void processBaseFont(HSSFFont font) { font.setFontName("宋体"); } private HSSFFont getTableTitleFont(HSSFWorkbook workbook) { HSSFFont font = workbook.createFont(); font.setFontHeightInPoints((short) 14); processBaseFont(font); return font; } private HSSFCellStyle getTableTitle(HSSFWorkbook workbook) { HSSFCellStyle style = workbook.createCellStyle(); processBaseStyle(style); style.setFont(getTableTitleFont(workbook)); return style; }}
Controller层
@RequestMapping(value = "/export", method = RequestMethod.GET) public ModelAndView export(HttpServletRequest request, HttpServletResponse response, ModelMap modelMap) throws IOException { String name = StringUtils.trimToEmpty(request.getParameter("name")); String type = StringUtils.trimToEmpty(request.getParameter("type")); String startTime = StringUtils.trimToEmpty(request .getParameter("startTime")); String endTime = StringUtils.trimToEmpty(request .getParameter("endTime")); PageVo page = this.processPageVo(request, baseListUrl + "?" + WebUtils.createQrmallCashParams(request)); Map<String, String> mapParams = new HashMap<String, String>(); mapParams.put("name", name); mapParams.put("type", type); mapParams.put("startTime", startTime); mapParams.put("endTime", endTime); List<QrmallCash> items = new ArrayList<QrmallCash>(); page.setTotalPageCount(1); while (page.getCurrPageNum() <= page.getTotalPageCount()) { List<QrmallCash> temp = qrmallCashService.list(page, mapParams); for (QrmallCash qrmallCash : temp) { User wxUser = wxUserService.get(qrmallCash.getFromid()); processUser(wxUser); qrmallCash.setUser(wxUser); } items.addAll(temp); page.setCurrPageNum(page.getCurrPageNum() + 1); } modelMap.put("items", items);//根据条件查询数据 放入ModelMap中 QrmallCashExcelView view = new QrmallCashExcelView(); return new ModelAndView(view, modelMap); }
jsp页面:
<script type="text/javascript"> $('#export').bind('click',function(){ location.href= "${basePath}qrmallCash/export?" + $("form").serialize(); }); </script>
$(“form”).serialize()获取表单中input的值
0 0
- spring mvc 条件查询导出excel
- spring mvc 导出excel
- spring MVC 导出excel
- spring MVC 导出excel
- spring MVC 导出excel
- spring MVC 导出excel
- spring MVC 导出excel
- spring MVC 导出excel
- spring mvc 导出Excel
- Spring MVC 导出EXCEL
- Spring mvc 下Excel导出
- Spring mvc进行Excel导出
- Spring MVC+Portlet 多条件查询
- Spring mvc 下导出Excel文件
- Jxls+Spring MVC实现Excel导出
- Jett+Spring MVC实现Excel导出
- spring mvc 导出Excel乱码问题解决办法。
- Jxls+Spring MVC实现Excel导出
- dede后台登陆后一片空白的解决办法汇总
- 面试题15:查找链表中倒数第k个结点
- 动画和图形一览——翻译自developer.android.com API Guides
- Shell字符串
- JSP自定义标签开发入门
- spring mvc 条件查询导出excel
- Git搭建
- mysql乐观锁总结和实践
- HBase table Get Data 获取数据
- Java获取本机公网ip
- LeetCode 347. Top K Frequent Elements
- WTL 通过IWebBrowser2接口使WebBrowser控件在自己的窗口打开网页
- JSON 入门指南
- 通过路径获取视频 缩略图