Blog Content
Java基于POI4.1.2实现Excel的导入导出功能
Java
2020-07-02 20:51:59
1、导入依赖
org.apache.poi
poi-ooxml-schemas
4.1.2
org.apache.poi
poi
4.1.2
org.apache.poi
poi-ooxml
4.1.2
2、ExcelUtils
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.poifs.filesystem.POIFSFileSystem;
import org.apache.poi.ss.usermodel.*;
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;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* Excel导入导出
*/
public class ExcelUtils {
/**
* Excel 导出
* @param response HttpServletResponse
* @param header 表头
* @param keys map的key值
* @param content 内容数据
* @param title 表格名字
* @param sheetName sheet名
*/
public static void exportExcel(HttpServletResponse response, String[] header,String[] keys, List
3、测试
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletResponse;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@RestController
public class TestController {
private String[] excelHeader = { "姓名", "年纪" };
private String[] excelHeaderKey = { "name", "age" };
@GetMapping("/xdx/excelExport")
public void excelExport(HttpServletResponse response) throws Exception{
List> list = new ArrayList<>();
Map tmp = new HashMap<>();
tmp.put("name","张三");
tmp.put("age","18");
list.add(tmp);
Map tmp1 = new HashMap<>();
tmp1.put("name","李四");
tmp1.put("age","20");
list.add(tmp1);
ExcelUtils.exportExcel(response, excelHeader, excelHeaderKey,list,"统计表格","表1");
}
@PostMapping("/xdx/import")
public void excelImport(MultipartFile file)throws Exception{
List> list = ExcelUtils.importExcel(file,excelHeaderKey);
for (Map item : list){
for (String key : item.keySet()){
System.out.print(item.get(key) + " ");
}
System.out.println();
}
}
}
上一篇:RHSA-2020:1000-中危: rsyslog security,bug fix,和 enhancement update
下一篇:pandas的to_sql的坑if_exists=append