一分钟说明

本文主要针对利用poi组件导出excel方式进行说明。
涉及知识点:- poi组件- spring4.0知识

poi组件

  • 样式
CellStylecellStyle_topic_head = workbook.createCellStyle();
cellStyle_topic_head.setWrapText(true);//自动换行
cellStyle_topic_head.setAlignment(CellStyle.ALIGN_LEFT);//水平居中
cellStyle_topic_head.setVerticalAlignment(CellStyle.VERTICAL_CENTER);//垂直居中
cellStyle_topic_head.setBorderBottom(HSSFCellStyle.BORDER_THIN); //下边框
cellStyle_topic_head.setBorderLeft(HSSFCellStyle.BORDER_THIN);//左边框
cellStyle_topic_head.setBorderTop(HSSFCellStyle.BORDER_THIN);//上边框
cellStyle_topic_head.setBorderRight(HSSFCellStyle.BORDER_THIN);//右边框
sheet.getRow(NumberConstants.ZERO).setHeightInPoints(Float.valueOf("144.25"));//第一行的行高
  • 合并单元格

//第一行_第一个合并单元格
PoiUtil.setCellRangeAddressInfo(new CellRangeAddress(0, 0, 0, 1), workbook, cellStyle_data, sheet, "内容值");//封装的方法
public static void setCellRangeAddressInfo(CellRangeAddress cellRangeAddress, Workbook workbook, CellStyle cellStyle, Sheet sheet, String value) {sheet.addMergedRegion(cellRangeAddress);PoiUtil.setBorder(1, cellRangeAddress, sheet, workbook);//边框Cell cell = sheet.getRow(cellRangeAddress.getFirstRow()).getCell(cellRangeAddress.getFirstColumn());cell.setCellStyle(cellStyle);cell.setCellValue(value);
}
  • 锁行和锁列
//锁行和锁列
sheet.createFreezePane(2, 4);
  • 中文文件名
//锁行和锁列
response.setHeader("Content-disposition", "attachment;filename=" + new String("报表名称".getBytes(),"iso-8859-1") + ".xls");  

spring4.0知识

  • 渲染视图和处理数据

controller代码如下:

    /*** 表格导出* * @return*/@RequestMapping(value = "/downLoad", method = RequestMethod.GET)public ModelAndView downLoad(@Valid BaseDownloadDTO baseDownloadDTO, ModelMap model, HttpServletRequest request) {BaseDownloadVO baseDownloadVO = topicService.getDownLoadData(baseDownloadDTO);model.put("data", baseDownloadVO);return new ModelAndView(new TopicViewExcel(redisTemplate), model);  }

view代码如下:

public class TopicViewExcel extends AbstractXlsView {private RedisTemplate<String, Object> redisTemplate;public TopicViewExcel(RedisTemplate<String, Object> redisTemplate) {this.redisTemplate = redisTemplate;}@Overrideprotected void buildExcelDocument(Map<String, Object> model, Workbook workbook, HttpServletRequest request, HttpServletResponse response) throws Exception {//设置数据 BaseDownloadVO baseDownloadVO = (BaseDownloadVO) model.get("data"); //导出response.setHeader("Content-disposition", "attachment;filename=" + new String("专题数据报表".getBytes(),"iso-8859-1") + ".xls");     }

poi处理excel导出相关推荐

  1. Apache POI操作Excel导出JAVABEAN对象方法

    2019独角兽企业重金招聘Python工程师标准>>> Apache POI操作Excel导出方法说明 Apache的POI组件是Java操作Microsoft Office办公套件 ...

  2. Poi实现Excel导出

    Poi实现Excel导出 Appache Poi提供了HSSFWorkbook操作2003版本的Excel文件, XSSFWorkbook操作2007版Excel文件. 简单的具体实现在网上有很多案例 ...

  3. POI的Excel导出数据之后,单元格数据无法换行

    ** POI的Excel导出数据之后,单元格数据无法换行 问题描述: POI导出excel数据之后,代码中使用"\n"换行,导出数据之后数据并未换行,只有双击之后才展现换行效果,截 ...

  4. springboot+poi开发excel导出 加载Excel模板导出 Excel批量导出详解

    提到Excel导出功能,可能很多人都使用springmvc框架做过,笔者今天要给大家分享的是基于springBoot开发Excel复杂模板导出功能(所谓复杂模板指在模板里的特定表头里有不同的单元格合并 ...

  5. POI实现EXCEL导出(resources配置路径下或者网络图片)

    工作越来越忙了,很久没来更新了,刚好今天抽个小空,整理下excel导出图片的总结,希望对你有用~ 1.项目resources下创建文件夹file,将520.png图片放到文件夹下,代码如下: HSSF ...

  6. POI实现Excel导出时常用方法说明

    场景 SpringBoot中使用POI实现自定义Excel布局式导出 https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/8949779 ...

  7. java如何调用系统保存框_java使用poi实现excel导出之后如何弹出保存提示框

    无论使用poi还是使用jxl导出excel都需要用到流 一种是outputstrean,另一种fileoutputstream 第一种:如果想要弹出保存的提示框必须加入下列三句 response.se ...

  8. 使用poi做excel导出时解决以文本格式存储的数字问题

    poi版本 3.7 出现问题 :数据导出时纯数字字段被以字符形式生成到excel中,单元格左上角出现绿三角 网上查了下资料,多是通过设置单元格数据类型方式解决 cell.setCellType(HSS ...

  9. 使用POI实现Excel导出导入 详细解释

    前景:java中操作图形化API难免有些困难,这时就会有大神来封装这些API 目前热门:收费iText,免费apache-poi 使用办公文档的核心理想:把办公软件中的元素封装成java类,程序员只需 ...

最新文章

  1. 在Linux上安装Memcached服务(自己测试过了)
  2. Redis 05_List列表 数组 Hash散列
  3. 【渝粤题库】国家开放大学2021春1356高级英语听说(2)题目
  4. css+沿正方形旋转,CSS3+SVG+JS 正方形沿着正方本中轴移动翻转的动画
  5. Redis集群搭建笔记
  6. Object_C与JavaScript交互使用总结
  7. Freeview%20Play是什么
  8. iOS-使用代码约束布局(Masonry)
  9. STM32F10x_RTC秒中断
  10. jQuery first()和last()函数示例
  11. Linux下设置定期执行脚本
  12. python刷今日头条阅读量_揭露头条刷阅读量内幕:怎么刷的今日头条阅读量
  13. 麒麟9000加鸿蒙,首发预装鸿蒙OS!华为Mate40 Pro 4G版入网:麒麟9000加持
  14. vue 上传图像 php处理,通过 Laravel + Vue 实现文件上传功能
  15. Mybatis复杂映射映射文件
  16. 手机模拟器或手机设置代理服务器,以及手动设置的代理ip无法保存的问题解决
  17. Qt—设计颜色编辑选取对话框
  18. 三星手机电池循环清零代码_晶弘冰箱故障信息代码及维修程序。
  19. linux查询服务器cpu核数_查看linux服务器CPU数量
  20. 用C语言编写贪吃蛇代码(难度可选)

热门文章

  1. windows下Emacs的安装与配置
  2. 删除某个路径下的文件夹
  3. linux下文件合并、分割、去重
  4. Linux 五种IO模型
  5. 统计带头结点的单向链表的个数并存放在形参n所指的单元中。 欢迎评论 指点。
  6. 商户分账交易汇总和商户交易汇总不一致
  7. Netty 基本介绍与核心组件(EventLoop、ChannelPipeline、ChannelHandler)
  8. 快速理解设计模式六大原则
  9. 这河里吗?Go 里边空指针还能调用对象方法!
  10. 修正《用Docker快速搭建Go开发环境》文章中的一处错误