废话不多说,直接上代码!
一、添加依赖
<!-- excel导出相关依赖 -->
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>4.0.0</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>4.0.0</version>
</dependency>
二、定义文件导出的工具类
使用poi导出excel表有一套完整的流程,与其说是流程,其实翻译成我们日常建立文件的过程就很好理解了,但是这一套过程大都是重复性的工作,为了方便复用和减少代码的冗余,我们将其封装为工具类,用时将关键参数传入即可!
在封装工具类之前,首先了解一个poi的各个对象的含义,这样有助于理解工具类中的各个步骤:
1、HSSFWorkbook ------一个excel文件
2、HSSFSheet --------一个sheet
3、HSSFRow ----一个行
4、HSSFCell------一个列
5、HSSFCellStyle----样式
按照众所周知的步骤,我们首先要建立一个文件,然后创建一个sheet,然后是定义行,定义列,填充内容,那就开干吧:
package com.wwy.util;
import java.util.List;
import java.util.Map;
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.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.HorizontalAlignment;
/**
* 文件导出的工具类
* @author wwy
* @date 2019年12月31日
* @version v0.0.1
*
*/
public class ExportUtil{
/**
*
* @param sheetName sheet名
* @param title 表头
* @param field 字段名
* @param values 值
* @return
*/
public static HSSFWorkbook Export(String sheetName,String[] title,List<Map<String,Object>> values) {
//创建一个excel文件对象
HSSFWorkbook hwb=new HSSFWorkbook();
//新建一个sheet
HSSFSheet sheet=hwb.createSheet(sheetName);
//新建第0行
HSSFRow row=sheet.createRow(0);
//新建列
HSSFCell cell=null;
//存入表头内容,并设置表头样式
//定义样式
HSSFCellStyle style = getStyle(hwb);
style.setFont(titleFont(hwb));
for(int i=0;i<title.length;i++) {
cell=row.createCell(i);
cell.