easyexcel读写文件

依赖

<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>easyexcel</artifactId>
    <version>2.2.2</version>
</dependency>

读文件

@RequestMapping(value = "/upload")
public void upload(HttpServletRequest request, @RequestParam("file") MultipartFile file) {
	InputStream inputStream = file.getInputStream();
	//同步读,不适用于大文件,大文件应启用监听器
	List<User> list = EasyExcel.read(inputStream).head(User.class).sheet().doReadSync();
}

写文件

@RequestMapping(value = "/export")
public void export(HttpServletResponse response) {
	response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
    response.setCharacterEncoding("utf-8");
    // 这里URLEncoder.encode可以防止中文乱码 当然和easyexcel没有关系
    String fileName = URLEncoder.encode("测试", "UTF-8").replaceAll("\\+", "%20");
    response.setHeader("Content-disposition", "attachment;filename*=utf-8''" + fileName + ".xlsx");
	List<User> userList = new ArrayList();
	EasyExcel.write(response.getOutputStream(), User.class).sheet("sheet").doWrite(userList);
}
@Data
public class User{
    @ExcelProperty("名称")
    private String name;
    @ExcelProperty("年龄")
    private Integer age;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,了解您的要求。关于easyexcel读写,可以参考以下步骤: 1. 引入依赖 ```xml <dependency> <groupId>com.alibaba</groupId> <artifactId>easyexcel</artifactId> <version>2.2.10</version> </dependency> ``` 2. 写入Excel文件 ```java // 创建Excel对应的实体对象 public class DemoData { @ExcelProperty("姓名") private String name; @ExcelProperty("年龄") private Integer age; } // 写入Excel public void writeExcel() { // 文件输出位置 String fileName = "demo.xlsx"; // 写法1 EasyExcel.write(fileName, DemoData.class).sheet("模板").doWrite(dataList); // 写法2 ExcelWriter excelWriter = null; try { excelWriter = EasyExcel.write(fileName, DemoData.class).build(); WriteSheet writeSheet = EasyExcel.writerSheet("模板").build(); excelWriter.write(dataList, writeSheet); } finally { if (excelWriter != null) { excelWriter.finish(); } } } ``` 3. 读取Excel文件 ```java // 读取Excel public void readExcel() { // 文件路径 String fileName = "demo.xlsx"; // 读取sheet1内容 EasyExcel.read(fileName, DemoData.class, new DemoDataListener()).sheet().doRead(); // 读取所有sheet内容 EasyExcel.read(fileName, DemoData.class, new DemoDataListener()).doReadAll(); } // 读取监听器 public class DemoDataListener extends AnalysisEventListener<DemoData> { private List<DemoData> dataList = new ArrayList<>(); @Override public void invoke(DemoData data, AnalysisContext context) { // 读取到一条数据时执行 dataList.add(data); } @Override public void doAfterAllAnalysed(AnalysisContext context) { // 读取完成后执行 // 可以将dataList进行保存操作 } } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值