Java 读取Excl文件 (poi-3.13)

简介: 版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u010046908/article/details/50581867        最近做项目遇到了读取Excel数据到数据库做数据的初始化。
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u010046908/article/details/50581867

       最近做项目遇到了读取Excel数据到数据库做数据的初始化。于是找一个。发现(poi-3.13)可以解决问题。可以解析两种格式(xlsx和xls)

         以下是实现的步骤

         1.下载poi3.13包,地址(http://poi.apache.org/download.html#POI-3.13)

         2.学习APi。

        接下来是还是demo来说明问题吧:

         1.准备Excel文件:


     2.项目的目录结构:


代码实战:


 /** 
     * 读取Excel数据 
     * @param file 
     */  
    public List<Student> readExcel(File file){
    List<Student> list = new ArrayList<Student>();
        try {  
            InputStream inputStream = new FileInputStream(file);  
            String fileName = file.getName();  
            Workbook wb = null;  
            if(fileName.endsWith("xls")){  
            //解析xls格式  
                wb = new HSSFWorkbook(inputStream);
            }else if(fileName.endsWith("xlsx")){  
            //解析xlsx格式 
                wb = new XSSFWorkbook(inputStream); 
            }  
            //第一个工作表  
            Sheet sheet = wb.getSheetAt(0);
            //第一行的行号 
            int firstRowIndex = sheet.getFirstRowNum(); 
            //最后一行的行号
            int lastRowIndex = sheet.getLastRowNum();  
            for(int rIndex = firstRowIndex; rIndex <= lastRowIndex; rIndex ++){  
            //获取每一行  
            Row row = sheet.getRow(rIndex);
            Student student = new Student();
                if(row != null){ 
                //获取第一例
                    int firstCellIndex = row.getFirstCellNum();  
                    int lastCellIndex = row.getLastCellNum();  
                    for(int cIndex = firstCellIndex; cIndex < lastCellIndex; cIndex ++){  
                    switch (cIndex) {
case 0:
student.setNo1(row.getCell(0).toString());
break;
                        case 1:
                        student.setNo2(row.getCell(1).toString());
break;
                        case 2:
                        student.setNo3(row.getCell(2).toString());
                        break;
                        case 3:
                        student.setNo4(row.getCell(3).toString());
                        break;
                        case 4:
                        student.setNo5(row.getCell(4).toString());
                        break;
                        case 5:
                        student.setNo6(row.getCell(5).toString());
                        break;
                        case 6:
                        student.setNo7(row.getCell(6).toString());
                        break;
           
default:
break;
}
                    }  
                }
                list.add(student);
            }  
        } catch (FileNotFoundException e) {  
            e.printStackTrace();  
        } catch (IOException e) {  
            e.printStackTrace();  
        }
return list;  
    }  


结果展示:

就这样了,有问题可以联系我QQ:1561281670

相关文章
|
23天前
|
Java
有关Java发送邮件信息(支持附件、html文件模板发送)
有关Java发送邮件信息(支持附件、html文件模板发送)
25 1
|
27天前
|
Java
java中替换文件内容
java中替换文件内容
13 1
|
28天前
|
Java API
Java中文件与输入输出
Java中文件与输入输出
|
29天前
|
Java
java实现遍历树形菜单方法——映射文件VoteTree.hbm.xml
java实现遍历树形菜单方法——映射文件VoteTree.hbm.xml
9 0
|
1月前
|
Java
java程序导出堆文件
java程序导出堆文件
|
1月前
|
SQL Oracle Java
sql文件批处理程序-java桌面应用
sql文件批处理程序-java桌面应用
25 0
|
1月前
|
存储 Java 文件存储
如何用 Java 压缩 ZIP 文件?
【2月更文挑战第21天】
29 1
|
1月前
|
Java
Java实现文件和目录的管理
Java实现文件和目录的管理
24 0
|
25天前
|
Java 数据库连接 API
Java 学习路线:基础知识、数据类型、条件语句、函数、循环、异常处理、数据结构、面向对象编程、包、文件和 API
Java 是一种广泛使用的、面向对象的编程语言,始于1995年,以其跨平台性、安全性和可靠性著称,应用于从移动设备到数据中心的各种场景。基础概念包括变量(如局部、实例和静态变量)、数据类型(原始和非原始)、条件语句(if、else、switch等)、函数、循环、异常处理、数据结构(如数组、链表)和面向对象编程(类、接口、继承等)。深入学习还包括包、内存管理、集合框架、序列化、网络套接字、泛型、流、JVM、垃圾回收和线程。构建工具如Gradle、Maven和Ant简化了开发流程,Web框架如Spring和Spring Boot支持Web应用开发。ORM工具如JPA、Hibernate处理对象与数
89 3
|
28天前
|
Java
使用java将字符串写入到指定的文件中
使用java将字符串写入到指定的文件中
11 0