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();
        }
    }

运行结果

相关推荐
木井巳30 分钟前
【多线程】并发安全
java·java-ee
枫叶丹431 分钟前
【Qt开发】Qt窗口(九) -> QFontDialog 字体对话框
c语言·开发语言·数据库·c++·qt
海上彼尚1 小时前
Go之路 - 7.go的结构体
开发语言·后端·golang
源代码•宸6 小时前
分布式缓存-GO(分布式算法之一致性哈希、缓存对外服务化)
开发语言·经验分享·分布式·后端·算法·缓存·golang
云和数据.ChenGuang7 小时前
PHP-FPM返回的File not found.”的本质
开发语言·php·运维工程师·运维技术
It's now7 小时前
Spring AI 基础开发流程
java·人工智能·后端·spring
cxh_陈7 小时前
线程的状态,以及和锁有什么关系
java·线程·线程的状态·线程和锁
计算机毕设VX:Fegn08957 小时前
计算机毕业设计|基于springboot + vue图书商城系统(源码+数据库+文档)
java·数据库·vue.js·spring boot·后端·课程设计
R.lin7 小时前
Java 8日期时间API完全指南
java·开发语言·python
毕设源码-赖学姐7 小时前
【开题答辩全过程】以 高校教学质量监控平台为例,包含答辩的问题和答案
java·eclipse