最近做了一些数据Excel导出的功能,先是看了很多博客,然后发现都没有公用的方法,但是又发现好像每一次导出都需要写一些差不多类似的代码,后来找到一篇公共导出Excel的方法,,但是这位博主好像并没有完全公布出来,然后自己稍微研究了一下在他的源码基础上写了个公共的导出方法。有写的不好的地方大佬可以指点指点
maven依赖
org.apache.poi poi 3.17
package com.tl.util;import java.io.IOException;import java.io.OutputStream;import java.net.URLEncoder;import java.util.ArrayList;import java.util.List;import javax.servlet.http.HttpServletResponse;import org.apache.poi.hssf.usermodel.HSSFCell;import org.apache.poi.hssf.usermodel.HSSFCellStyle;import org.apache.poi.hssf.usermodel.HSSFFont;import org.apache.poi.hssf.usermodel.HSSFRichTextString;import org.apache.poi.hssf.usermodel.HSSFRow;import org.apache.poi.hssf.usermodel.HSSFSheet;import org.apache.poi.hssf.usermodel.HSSFWorkbook;import org.apache.poi.ss.usermodel.BorderStyle;import org.apache.poi.ss.usermodel.CellType;import org.apache.poi.ss.usermodel.HorizontalAlignment;import org.apache.poi.ss.usermodel.VerticalAlignment;import org.apache.poi.ss.util.CellRangeAddress;public class ExportExcel { //显示的导出表的标题 private String title; //导出表的列名 private String[] rowName ; private List
这个导出用到的方法,组装数据的如下:
@RequestMapping("/outPartitionExcel") public void outPartitionExcel(Partition partition,HttpServletResponse response) throws Exception { ListPartitions = partitionService.findAllPartitionPage(partition); String title = "管理分区"; String[] rowsName = new String[] {"序号","分拣编码","定区编码","省份","城市","区(县)","关键字","起始号","终止号","单双号","操作人员","操作单位","操作时间"}; List dataList = new ArrayList<>(); Object[] objs = null; for(int i=0; i
是通过组装一个List的类型(里面是一些列的导出数据,可以为String/int/long等全部数据类型)。数组rowsName是指导出数据的栏位名称,title是指导出excel的标题
和sheet名。
以以上的数据为例,导出的结果显示如下(只是做了简单的处理,有一些合并行与excel的样式问题没有涉及)