Java使用EasyExcel实现对excel文档内容提取

1.EasyExcel地址

关于Easyexcel | Easy Excel

2.实现步骤

1.项目中引入maven依赖

<dependency>
   <groupId>com.alibaba</groupId>
   <artifactId>easyexcel</artifactId>
   <version>${easyexcel.version}</version>
   <exclusions>
 <!-- 如果项目中使用poi依赖 排除相关依赖 -->
      <exclusion>
         <groupId>org.apache.poi</groupId>
         <artifactId>poi-ooxml-schemas</artifactId>
      </exclusion>
   </exclusions>
</dependency>

2.对于本地文件进行提取

package com.XXX;

import com.alibaba.excel.EasyExcel;
import com.alibaba.excel.context.AnalysisContext;
import com.alibaba.excel.read.listener.ReadListener;
import java.io.IOException;
import java.io.InputStream;
import java.net.URL;
import java.net.URLConnection;
import java.util.Map;

public class ExcelTestPoi {
    public static void main(String[] args) throws IOException {
        // 获取本地文件路径
        String fileName = "本地文件的路径"; 
        // 创建一个字符串构建器用于累加文本
        StringBuilder allText = new StringBuilder(); 
        // 读取 Excel 文件
        // 使用匿名内部类创建监听器
        EasyExcel.read(fileName , new ReadListener<Map<String, String>>() {
            @Override
            public void invoke(Map<String, String> data, AnalysisContext context) {
                // 将每一行的数据转换为字符串,并累加到 allText 中
                for (String value : data.values()) {
                    if (value != null) {
                        allText.append(value).append(" ");
                    }
                }
                allText.append("\n"); // 每行数据后添加换行符
            }
            @Override
            public void doAfterAllAnalysed(AnalysisContext context) {
                // 所有数据解析完成后,输出累加的字符串
                System.out.println("合并后的文本内容:");
                System.out.println(allText.toString());
            }
        }).sheet().doRead();
    }

3.对于网络excel资源进行提取

package com.XXX;

import com.alibaba.excel.EasyExcel;
import com.alibaba.excel.context.AnalysisContext;
import com.alibaba.excel.read.listener.ReadListener;
import java.io.IOException;
import java.io.InputStream;
import java.net.URL;
import java.net.URLConnection;
import java.util.Map;

public class ExcelTestPoi {
    public static void main(String[] args) throws IOException {

        StringBuilder allText = new StringBuilder(); // 创建一个字符串构建器用于累加文本
        // 创建网络资源对象
        URL url = new URL("网络资源地址");
        // 打开对于资源可操作
        URLConnection urlConnection = url.openConnection();
        // 获取输入流对象
        InputStream inputStream = urlConnection.getInputStream();
        // 读取 Excel 文件
        EasyExcel.read(inputStream, new ReadListener<Map<String, String>>() {
            @Override
            public void invoke(Map<String, String> data, AnalysisContext context) {
                // 将每一行的数据转换为字符串,并累加到 allText 中
                for (String value : data.values()) {
                    if (value != null) {
                        allText.append(value).append(" ");
                    }
                }
                allText.append("\n"); // 每行数据后添加换行符
            }
            @Override
            public void doAfterAllAnalysed(AnalysisContext context) {
                // 所有数据解析完成后,输出累加的字符串
                System.out.println("合并后的文本内容:");
                System.out.println(allText.toString());
            }
        }).sheet().doRead();
    }
}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Aqua️

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值