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

运行结果

相关推荐
Mr.Jessy2 小时前
JavaScript高级:构造函数与原型
开发语言·前端·javascript·学习·ecmascript
云栖梦泽4 小时前
鸿蒙应用签名与上架全流程:从开发完成到用户手中
开发语言·鸿蒙系统
爱上妖精的尾巴4 小时前
6-4 WPS JS宏 不重复随机取值应用
开发语言·前端·javascript
Goldn.5 小时前
Java核心技术栈全景解析:从Web开发到AI融合
java· spring boot· 微服务· ai· jvm· maven· hibernate
李慕婉学姐6 小时前
【开题答辩过程】以《基于Android的出租车运行监测系统设计与实现》为例,不知道这个选题怎么做的,不知道这个选题怎么开题答辩的可以进来看看
java·后端·vue
小鸡吃米…6 小时前
Python 列表
开发语言·python
m0_740043736 小时前
SpringBoot05-配置文件-热加载/日志框架slf4j/接口文档工具Swagger/Knife4j
java·spring boot·后端·log4j
编织幻境的妖6 小时前
SQL查询连续登录用户方法详解
java·数据库·sql
kaikaile19956 小时前
基于C#实现一维码和二维码打印程序
开发语言·c#
我不是程序猿儿6 小时前
【C#】画图控件的FormsPlot中的Refresh功能调用消耗时间不一致缘由
开发语言·c#