使用的是idea+restful风格
第一:引入依赖为:
org.apache.xmlbeans xmlbeans 2.6.0 dom4j dom4j 1.6.1 org.apache.poi poi 3.9 org.apache.poi poi-ooxml 3.9
第二步:
上传文件的工具类
import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.InputStream; import java.lang.reflect.Method; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import javax.servlet.ServletOutputStream; import javax.servlet.http.HttpServletResponse; import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.apache.poi.ss.usermodel.Cell; import org.apache.poi.ss.usermodel.CellStyle; import org.apache.poi.ss.usermodel.Font; import org.apache.poi.ss.usermodel.IndexedColors; import org.apache.poi.ss.usermodel.Row; import org.apache.poi.ss.usermodel.Sheet; import org.apache.poi.ss.usermodel.Workbook; /** * @author qingmu * @version 创建时间:2017年12月28日 下午4:53:29 * 类说明: POI导出工具类 */ public class ExportPOIUtils { //参数说明: fileName:文件名 projects:对象集合 columnNames: 列名 keys: map中的key public static void start_download(HttpServletResponse response, String fileName, List<&#63;> projects, String[] columnNames, String[] keys) throws IOException { //将集合中对象的属性 对应到 List
第三步:controller层的编写
import com.example.uploaddemo.util.ExportPOIUtils; import org.springframework.web.bind.annotation.RequestMapping; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.util.ArrayList; import java.util.List; /** * @author qingmu * @date */ public class UserController { @RequestMapping("exportList") public void exportList(HttpServletResponse response, String ids) { String fileName = "人员档案列表"; Listusers = new ArrayList (); // 列名 String columnNames[] = {"ID", "姓名", "性别", "所属部门", "所属单位", "邮箱", "电话", "手机", "学历/学位", "专业/专科方向", "直属上级", "账号锁定"}; // map中的key String keys[] = {"id", "userName", "gender", "dept", "unit", "email", "tel", "phone", "degree", "major", "parentName", "isLocked"}; try { ExportPOIUtils.start_download(response, fileName, users, columnNames, keys); } catch (IOException e) { e.printStackTrace(); } } }
这里少了一个user实体类,你可以直接替换成你的要导出的实体类,就ok了.
简洁的代码,又高效的代码.
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。