POI读取EXCEL(2007以上)

Posted 梦想、编织着青春

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了POI读取EXCEL(2007以上)相关的知识,希望对你有一定的参考价值。

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.InputStream;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.List;
import java.util.UUID;

import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.xssf.usermodel.XSSFCell;
import org.apache.poi.xssf.usermodel.XSSFRow;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;

public class test {
    public importExcel(){
                String excelPath = null;//excel表格的文件位置
        XSSFWorkbook xwb = null;//创建excel表格的工作空间
        InputStream in;
        try {
            in = new FileInputStream(excelPath);
            xwb = new XSSFWorkbook(in);
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
            System.out.println("找不到指定路径下的excel文件!");
        } 
        
        
//        System.out.println("该文档一共有sheet"+xwb.getNumberOfSheets()+"个");
        //开始循环sheet页
        for(int i=0;i<xwb.getNumberOfSheets();i++){
            XSSFSheet sheet = xwb.getSheetAt(0);//读取第1个sheet
            XSSFRow row;
            List<String[]>  userData = new ArrayList<String[]>();//用来存从excel表格中获取到的值,然后向数据库中保存
            //读取系统配置sheet页
            row:for(int rowIndex = 0;rowIndex < sheet.getPhysicalNumberOfRows();rowIndex++){
                if((row = sheet.getRow(rowIndex)) != null){//判断该行内容不为空
                    String[] userRow = new String[row.getLastCellNum()];
                    //开始循环每一行的列
                    col:for(int columnIndex = row.getFirstCellNum(); columnIndex < row.getLastCellNum(); columnIndex++){
                        XSSFCell cell = row.getCell(columnIndex);
                        if(cell != null){
                            cell.setCellType(Cell.CELL_TYPE_STRING);
                            userRow[columnIndex]  = cell.getStringCellValue();
                        }
                    }
                    userData.add(userRow);
                }
            }
            //开始往数据库中插入数据
            if(userData.size()>0){
                //开始往人员表中保存数据
                Persons persons = new Persons();
                persons.setName(userData.get(0)[1]);
                persons.setEmail(userData.get(0)[2]);
                persons.setSex(userData.get(0)[3]);
                persons.setAge(Integer.parseInt(userData.get(0)[4]));
                personsManage.save(persons);
            }
        }
    }
}

 

以上是关于POI读取EXCEL(2007以上)的主要内容,如果未能解决你的问题,请参考以下文章

JAVA:通过poi读取excel

Java中poi读取含有失效超链接的Excel2007报错

java通过apache poi框架读取2007版Excel文件

poi大数据读写excel

解析xlsx文件---Java读取Excel2007

解析xlsx文件---Java读取Excel2007