java 解析excel

在Java中解析Excel文件,可以使用Apache POI库。以下是一个简单的例子,展示如何使用Apache POI读取一个Excel文件(假设为.xlsx格式)的内容。

首先,确保你的项目中包含了Apache POI的依赖。如果你使用Maven,可以添加以下依赖到你的pom.xml文件中:

复制代码
<dependency>
            <groupId>org.apache.poi</groupId>
            <artifactId>poi-ooxml</artifactId>
            <version>4.1.2</version>
        </dependency>

以下是一个简单的Java程序,用于读取Excel文件中的数据:

复制代码
@Override
    public void UploadFile(MultipartFile multipartFile) {
        File file = null;
        try {
            file = File.createTempFile("temp", multipartFile.getOriginalFilename());
            multipartFile.transferTo(file);
            FileInputStream inputStream = new FileInputStream(file);
            Workbook workbook = new XSSFWorkbook(inputStream);
            Sheet sheet = workbook.getSheetAt(0); // 读取第一个工作表
            for (Row row : sheet) { // 迭代每一行
                log.info("开始处理"+row.getRowNum()+"行数据"); // 换行,表示一行数据结束
                for (Cell cell : row) { // 迭代每一列
                    if(row.getRowNum()>0){
                        switch (cell.getCellTypeEnum()) {
                            case STRING:
                                log.info(cell.getStringCellValue()+ "\t");
                                break;
                            case NUMERIC:
                                log.info(cell.getNumericCellValue()+ "\t");
                                break;
                            case BOOLEAN:
                                log.info(cell.getBooleanCellValue()+ "\t");
                                break;
                            case FORMULA:
                                log.info(cell.getCellFormula()+ "\t");
                                break;
                            default:
                                break;
                        }
                    }
                }
            }
            //关闭文件输入流
            inputStream.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

运行结果

相关推荐
缺点内向18 小时前
如何在C#中添加Excel文档属性?
开发语言·数据库·c#·.net·excel
带刺的坐椅18 小时前
Solon AI 开发学习16 - generate - 生成模型(图、音、视)
java·ai·llm·openai·solon
jiayong2318 小时前
Spring Bean 生命周期详解
java·后端·spring
Howie Zphile18 小时前
做移动端的 Next.js 项目,可以选哪些 UI?
开发语言·javascript·ui
卿雪18 小时前
缓存异常:缓存击穿、缓存穿透、缓存雪崩 及其解决方案
java·数据库·redis·python·mysql·缓存·golang
无限进步_18 小时前
C语言文件操作函数解析
c语言·开发语言·数据库·c++·后端·visual studio
小坏讲微服务18 小时前
Spring Boot 4.0 整合 RabbitMQ 注解方式使用指南
java·spring boot·rabbitmq·java-rabbitmq
星辰烈龙18 小时前
黑马程序员Java基础7
java·开发语言
big-seal18 小时前
分页列表中能够按照名称查询,使用 mybatis 的 Example 动态构造 SQL where 条件
java·开发语言
福尔摩斯张18 小时前
C语言文件操作详解(一):文件的打开与关闭(详细)
java·linux·运维·服务器·c语言·数据结构·算法