您可以下载https://github.com/limiaogithub/yt_mybatis_example 直接运行示例代码。
1.基于apache poi
2.注解的方式进行配置
3.支持多sheet
4.使用简单
1.idea开发工具
2.大约10分钟
1.引入maven依赖
<dependency> <groupId>com.github.limiaogithub</groupId> <artifactId>yt_excel</artifactId> <version>1.0.0</version> </dependency>
2.编写你的Pojo类,这里@ImportExcel指导入的字段,@ExportExcel指导出的字段,属性一看就懂了。
public class TestBean { private int id; @ExportExcel(title = "姓名", order = 1) @ImportExcel(order = 1) private String name; @ExportExcel(title = "密码", order = 2) @ImportExcel(order = 2) private int password; @ExportExcel(title = "日期", order = 3) @ImportExcel(order = 3) private Date date; @ExportExcel(title = "BigDecimal", order = 4) @ImportExcel(order = 4) private BigDecimal big; public TestBean() { } public TestBean(String name, int password, Date date, BigDecimal big) { this.name = name; this.password = password; this.date = date; this.big = big; } public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getPassword() { return password; } public void setPassword(int password) { this.password = password; } public Date getDate() { return date; } public void setDate(Date date) { this.date = date; } public BigDecimal getBig() { return big; } public void setBig(BigDecimal big) { this.big = big; } @Override public String toString() { return "TestBean{" + "id=" + id + ", name='" + name + '\'' + ", password=" + password + ", date=" + date + ", big=" + big + '}'; } }
3.导出
@ApiOperation(value = "export") @RequestMapping(value = "/export", method = RequestMethod.GET) public void export() throws Exception { ServletOutputStream out = response.getOutputStream(); String fileName = EncodeUtils.toUtf8String(request.getHeader("User-Agent"), "导出文件.xls"); response.setContentType("application/vnd.ms-excel"); response.setHeader("Content-Disposition", "attachment; filename=" + fileName); response.setContentType("application/octet-stream; charset=utf-8"); ExcelUtils.createExcel(out, TestBean.class, getTestList()); out.flush(); } private static List getTestList() { List list = new ArrayList<>(); TestBean testBean1 = new TestBean("name1", 123, new Date(), new BigDecimal(1111)); list.add(testBean1); TestBean testBean2 = new TestBean("name2", 456, new Date(), new BigDecimal(2222)); list.add(testBean2); return list; }
4.导入
@ApiOperation(value = "import") @RequestMapping(value = "/import", method = RequestMethod.GET) public void import1(MultipartFile file) throws Exception { File file1=new File("D:\\导出文件.xls"); List list = ExcelUtils.readExcel(file1, TestBean.class, new ExcelConfig().setStartRow(2)); System.out.println(list.size()); for (TestBean testBean : list) { System.out.println(testBean.toString()); } }