POI 和 EasyExcel

前言

  1. 将表格信息导出为Excel表格(导出数)
  2. 将Excel表格信息录入到数据库(导入数据)

操作Excel目前比较流行的就是 Apache POI 和阿里巴巴的 EasyExcel

Apache POI

Apache POI 官网:https://poi.apache.org/

  • HSSF:Excel97-2003版本,扩展名为.xls。一个sheet最大行数65536,最大列数256。
  • XSSF:Excel2007版本开始,扩展名为.xlsx。一个sheet最大行数1048576,最大列数16384。
  • SXSSF:是在XSSF基础上,POI3.8版本开始提供的支持低内存占用的操作方式,扩展名为.xlsx。

Excel版本兼容性是向下兼容。

03版本和07版的Excel表的生成

<!--xls(03版本)-->
<dependency>
    <groupId>org.apache.poi</groupId>
    <artifactId>poi</artifactId>
    <version>3.9</version>
</dependency>

<!--xlsx(07版本)-->
<dependency>
    <groupId>org.apache.poi</groupId>
    <artifactId>poi-ooxml</artifactId>
    <version>3.9</version>
</dependency>

代码

@Override
@CrossOrigin
public void testEasyExcel(Map<String, Object> map, HttpServletResponse response) throws IOException {
   
    // var sheetName = "工作表名"
    // var headList = ["表头1", "表头2"]
    // var filedList = ["字段名1", "字段名2"]
    // var dataList = [{字段名1: "2914"}, {字段名2: "2935"}, {字段名3: "2937"}]

    String sheetName = map.get("sheetName").toString();
    List<String> headList = (List)map.get("headList");
    List<String> filedList = (List)map.get("filedList");
    List<Map> dataList = (List)map.get("dataList");

    // 创建一个03版本的工作簿
    Workbook workbook = new HSSFWorkbook();
    // 创建一个07版本的工作簿
    // Workbook workbook = new XSSFWorkbook();
    //
    // Workbook workbook = new SXSSFWorkbook();
    // 创建一个工作表,指定表名
    Sheet sheet = workbook.createSheet(sheetName);
    // 创建一个行
    Row row = sheet.createRow(0);
    // 设置行高
    row.setHeight((short)450);
    // 设置样式
    HSSFCellStyle cellStyle = (HSSFCellStyle)workbook.createCellStyle();
    // XSSFCellStyle cellStyle = (XSSFCellStyle) workbook.createCellStyle();
    // 设置背景颜色
    cellStyle
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值