基于SSM的POI导入导出Excel实战第二篇-导出EXCEL

业务需求:这里我以产品信息为例,用于POI导入导出Excel实战的操作对象

需求分析:我们要导出的数据格式比较简单,其实就是待导出的表(视图)的数据,如下图所示:

实现思路:
A、会发现待导出的数据列表是一个矩阵式的格式,即二维的形式

B、其中的头部id name unit price stock 等字段field是固定不变的,将会充当excel的头部

C、以数据行的角度观察数据列表,会发现每一行每一列的值都是B所指的那些字段一一对应的取值value

D、由此可以得出这些数据组织是由每一行数据组成,而每一行数据是由 field-value 对组成的,而这即可让人联想到 map的映射格式。即每一行row由map构成,整个表/视图则由多行row组成,所以最终应输出的数据格式为:List<Map<key,value>>,如下图所示:

有了上面的实现思路,其实我们已经实现了一大半!下面进入正文,阅读正文期间,如果有任何问题均可以加我QQ:1974544863 或者入群讨论技术:583522159。以下是我的公众号,感兴趣的童鞋可以关注(有干货分享以及项目实战分享哦!)

好了,那我们就废话不多说,进入代码实战吧:

  1. 首先创建表product,并定义以下字段,同时自己在表里添加数据。并用mybatis逆向工程生成entity,mapper,mapper.xml文件

  1. 然后创建ProductController,开发导出Excel的功能,该功能的思路其实就是上面分析出来的实现思路,在这些代码里均能得到体现

  1. 其中ProductMapper的selectAll方法如下:

  1. 而ExcelBeanUtil.manageProductList方法用于将获取的数据列表转化为上面所讲的List<Map<>>代码如下:
  2. ExcelUtil.fillExcelSheetData方法,则是将最终获取到的List<Map<>>格式的数据列表真正的填充到Excel中,得到最终的Excel -Workbook实例:
  3. 最后,需要将得到的Workbook实例(其实就是一个Excel了)以流的形式同步写回浏览器:
  4. 其中,我们这里用到了sheetProductName跟excelProductName,顾名思义,分别为:下载的Excel中sheet的命名以及下载的Excel的名称。这两个属性是采用动态配置的方式配置为配置文件application.properties中的 如下所示:

  1. 最终,我们实现的效果如下所示:

好了,这就是我们POI实战第二篇:到处Excel,若有相关问题可以加上面我的个人联系方式咨询我!!!

原文地址:http://blog.51cto.com/13877966/2147427

时间: 2024-11-23 13:36:04

基于SSM的POI导入导出Excel实战第二篇-导出EXCEL的相关文章

基于SSM的POI导入导出Excel实战第一篇-SSM框架的整合

业务背景:在JavaWeb应用开发中,经常需要将应用系统中某些业务数据导出到Excel中,又或者需要将这些业务数据先收集到Excel然后一键导入到系统 业务需求:如何用Java实现导入导出Excel 需求分析:目前流行的Java导入导出Excel的框架有POI跟JXL,这两者的优缺点在这里我就不作比较了,感兴趣的童鞋可以自行搜索了解一下; 技术选型:从本文开始,我将分享一下如何基于SSM框架+POI实现Java应用导入导出Excel,数据库采用mysql5.6,应用服务器采用tomcat7 工具

基于SSM的POI导入导出Excel实战第二篇-导入EXCEL

业务需求:上文已经实现了产品信息Excel的导出,接下来将用POI实现Excel导入 需求分析:导入其实是导出的逆过程,数据格式是一样的,均为矩阵式(二维)的数据格式,下面将以导出的模板作为Excel导入时数据填充的文件! 下面就直接进入正文,在阅读正文源码期间如果有相关问题可以加我QQ:1974544863 咨询我 或者加群:583522159 进行技术讨论.下面是我的个人公众号,感兴趣的童鞋可以关注(有干货以及项目实战分享哦) 好了,让我们进入代码实战吧! 在实战之前,介绍一下项目使用的"状

基于SSM的POI导入导出Excel实战尾篇-其余功能实战(mvc三层开发模式体验)

业务需求:前几篇基本已经介绍完毕项目的核心功能,即POI导入导出Excel,为了整个项目的完整性,并让诸位童鞋体验体验企业级javaweb应用mvc三层模式的开发流程,本文将介绍一下项目的其余功能,包括搜索,新增,修改,删除 需求分析:作为程序员,在项目中经常接触的就是CRUD了,本篇博文将整合jquery-easyui框架(版本采用1.5.5.4)异步实现上述几个功能,给项目画上一个完整的句号!当然啦,在刚开始开发时,对于自己开发好的后端接口完全可以用Postman进行模拟(我就是这样做的),

【HANA系列】SAP 【第二篇】EXCEL连接SAP HANA的方法(ODBC)

公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[HANA系列]SAP [第二篇]EXCEL连接SAP HANA的方法(ODBC) 前言部分 大家可以关注我的公众号,公众号里的排版更好,阅读更舒适. 正文部分 前言介绍[office2010]: SAP HANA的最主要功能就是建模,建模后给BW或BO来展现结果. SAP HANA中的报表可以在SAP的BusinessObjects应用程序套件

Linux实战第二篇:Centos6和Centos7密码破解实战

个人笔记分享(在线阅读): http://note.youdao.com/noteshare?id=744d026219e72c69e606f115bd333ddc PDF版本下载 请在附近中下载

Java利用POI导入导出Excel中的数据

     首先谈一下今天发生的一件开心的事,本着一颗android的心我被分配到了PB组,身在曹营心在汉啊!好吧,今天要记录和分享的是Java利用POI导入导出Excel中的数据.下面POI包的下载地址http://poi.apache.org/download.html,有兴趣的朋友也可以去看看其中的API.      下面分享一下在对POI进行基本操作时觉得需要注意的两点:       1.POI中针对xlsx/xls是需要create different Workbook instance

poi导入导出excel后记

续上一篇:在springmvc项目中使用poi导入导出excel http://blog.csdn.net/kingson_wu/article/details/38942967 一. 导入时,发现了不少问题,如果是导出excel之后,在里面不删除行,只是简单的修改一些数据的话,则不会出问题,但如果是删除了一些行,或者excel表不是导出的,而是另外的excel文件,里面有很多数据ctrl+a,ctrl+v生成的,那么导入的时候就会出问题,因为里面虽然看起来的数据就那么多,但是有一些数据痕迹.很

POI 导入、导出Excel

POI,全称Apache POI,是Apache软件基金会的开放源码函式库,POI提供API给Java程序对Microsoft Office格式档案读和写的功能.项目地址:Apache POI - the Java API for Microsoft Documents 1 导入 使用form表单(enctype="multipart/form-data")上传excel文件,后台接收MultipartFile文件格式. 读取excel private static final Str

POI导入导出

HSSFWorkbook excel的文档对象HSSFSheet excel的表单HSSFRow excel的行 HSSFCell excel的格子单元HSSFFont excel字体HSSFDataFormat 日期格式在poi1.7中才有以下2项:HSSFHeader sheet头HSSFFooter sheet尾(只有打印的时候才能看到效果)和这个样式HSSFCellStyle cell样式辅助操作包括HSSFDateUtil 日期HSSFPrintSetup 打印 HSSFErrorCo