POI+EasyExcel,简单使用

简介:

Apache POI 是用Java编写的免费开源的跨平台的 Java API,Apache POI提供API给Java程序对Microsoft Office格式档案读和写的功能。

写:

  1. pom.xml文件引入poi的依赖;依赖可能有问题,可以自行www.baidu.com

            <!-- poi的依赖,完成excel文件的读写 -->
            <dependency>
                <groupId>org.apache.poi</groupId>
                <artifactId>poi</artifactId>
                <version>5.2.2</version>
            </dependency>
    
  2. 代码实现:这里使用的测试方法来实现测试

	@Test
    void contextLoads() {
        /*
        1.创建一个工作蒲对象WorkBook
            有两个实现类:HSSFWorkbook(03版excel,65536行数据)和XSSFWorkbook(07版excel)
         */
        Workbook workbook = new HSSFWorkbook();
        /*
        2.创建一个工作表对象Sheet
            调用workbook.createSheet()来创建工作表,可以对该方法给出参数,"工作表的名称"
         */
        Sheet sheet = workbook.createSheet("test");
        /*
        3.创建行对象Row
            调用sheet.createRow(0)来创建,从0开始创建表中的第一行
         */
        Row row = sheet.createRow(0);
        /*
        4.创建列(单元格)对象Cell
            调用row.createCell(0)来创建,从0开始创建表中的第一列
         */
        Cell cell = row.createCell(0);
        //5.给生成的单元格填入数据
        cell.setCellValue("给坐标0,0写入的数据");
        FileOutputStream fileOutputStream = null;
        try {
            //6.创建流对象,准备写入文件
            fileOutputStream = new FileOutputStream("路径,,03版以.xls结尾,07版以.xlsx结尾");
            //7.写入文件
            workbook.write(fileOutputStream);
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            //8.关闭流对象
            try {
                if (!ObjectUtils.isEmpty(fileOutputStream)) {
                    fileOutputStream.close();
                }
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }

读:

代码实现:

    @Test
    void contextLoadssx() throws IOException {

        /*
        1.获取流对象,流对象读取文件
         */
        FileInputStream fileInputStream=new FileInputStream("文件路径");

        /*
        2.创建一个工作蒲对象WorkBook
            有两个实现类:HSSFWorkbook(03版excel)和XSSFWorkbook(07版excel)
         */
        Workbook workbook = new HSSFWorkbook(fileInputStream);
        /*
        3.获取一个工作表对象Sheet
            调用workbook.getSheet()来创建工作表,可以对该方法给出参数,"工作表的名称"
         */
        Sheet sheet = workbook.getSheet("test");
        /*
        获取当前表共有多少行数据,可以对该参数进行遍历,循环读取所有行
         */
        int num=sheet.getPhysicalNumberOfRows();
        /*
        4.获取行对象
            调用sheet.getRow(0)来获取行对象,给出参数为第几行
         */
        Row row=sheet.getRow(0);

        /*
        获取当行共有多少列,可以对该参数进行for循环,达到循环读取行的所有数据
         */
        int count = row.getPhysicalNumberOfCells();

        /*
        5.获取列对象
            调用row.getCell(0)来获取列对象,给出参数为第几列
         */
        Cell cell=row.getCell(0);
        /*
        获取当前列(单元格)的数据类型,再通过判断,与CellType枚举类型中的数据进行比对,达到调用不同的读取方法
            _NONE(-1),
            NUMERIC(0),
            STRING(1),
            FORMULA(2),
            BLANK(3),
            BOOLEAN(4),
            ERROR(5);
         */
        CellType cellType = cell.getCellType();

        /*
        6.获取数据
            调用cell.getStringCellValue()获取列(单元格)中的数据
            读取值需要调用对应的读取方法,数字有专门的数字读取方法
         */
        String value=cell.getStringCellValue();
        /*
        7.关闭流
         */
        fileInputStream.close();
    }

EasyExcel

pom文件

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

示例链接:

https://easyexcel.opensource.alibaba.com/docs/current/quickstart/fill

GitHub链接:

https://github.com/alibaba/easyexcel

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值