一个简单的Excel导入导出工具类
1. 接口描述
Excel导入导出工具类说明:
类名:ExcelUtil
主要功能:实现Excel导出下载及导入解析功能
-
导入解析Excel接口
方法名:readExcel
输入参数:
参数类型 | 说明 |
---|---|
MultipartFile | 接收到前台传递的Excel文件信息 |
Integer | Sheet页序号 |
返回值
返回值类型 | 说明 |
---|---|
List<Map<String, String>> | list中每一个Map代表一行数据, key为表头信息 |
-
导出接口
方法名:exportMultisheetExcel
输入参数:
参数类型 | 说明 |
---|---|
String | 接收到前台传递的Excel文件信息 |
List<Map<String, Object>> | list中每一个Map代表一个sheet页 Map参数:headers(String[])导出表头信息dataList(Collection<T>)导出数据信息 fileName(String)sheet页名称 exportFields(String[])导出表头对应的字段 |
HttpServletResponse | Response响应 |
2. 代码
package com.smxny.util; import java.io.BufferedOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.lang.reflect.Field; import java.net.URLEncoder; import java.text.DateFormat; import java.text.DecimalFormat; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Collection; import java.util.Date; import java.util.Iterator; import java.util.LinkedHashMap; import java.util.List; import java.util.Map; import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.apache.poi.ss.usermodel.Cell; import org.apache.poi.ss.usermodel.DateUtil; import org.apache.poi.ss.usermodel.Row; import org.apache.poi.ss.usermodel.Sheet; import org.apache.poi.ss.usermodel.Workbook; import org.apache.poi.xssf.streaming.SXSSFSheet; import org.apache.poi.xssf.streaming.SXSSFWorkbook; import org.apache.poi.xssf.usermodel.XSSFWorkbook; import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletResponse; /** * Excel导入导出 * * @Author: * @Date: */ public class ExcelUtil { /** * 导出多个sheet的excel * * @param name * @param mapList * @param response * @param <T> */ public static <T> void exportMultisheetExcel(String name, List<Map<String, Object>> mapList, HttpServletResponse response) { BufferedOutputStream bos = null; try { // 导出Excel名称