首页 > 其他 > 详细

POI读取Excel数据

时间:2019-08-11 12:34:10      阅读:66      评论:0      收藏:0      [点我收藏+]
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;

import java.io.FileInputStream;
import java.io.InputStream;

public class PoiExcel {

    /**
     * HSSF:Excel97-2003版本,扩展名为.xls  一个sheet最大行数65536,最大列数256
     * XSSF:Excel2007版本开始,扩展名为.xlsx 一个sheet最大行数1048576,最大列数16384
     */

    public static void main(String[] args) throws Exception{

        XSSFWorkbook workbook; // 工作簿
        XSSFSheet sheet; // 工作表
        XSSFRow row; //
        XSSFCell cell; //

        InputStream in = new FileInputStream("E:\\ExcelTest.xlsx");
        //解析工作簿
        workbook = new XSSFWorkbook(in);
        //获取工作表的数量
        int size = workbook.getNumberOfSheets();
        System.out.println("工作表数量: "+size);
        //循环读取每一个工作表中的数据
        for(int i=0;i<size;i++){
            sheet = workbook.getSheetAt(i);
            //工作表
            System.out.println("工作表名: "+sheet.getSheetName());
            //获取有效的行数
            int rowNumber = sheet.getPhysicalNumberOfRows();
            for (int rowIndex = 0;rowIndex<rowNumber;rowIndex++){
                System.out.println("正在读取第"+(rowIndex+1)+"行");
                if (rowIndex==0){//去除表头数据
                    continue;
                }
                row = sheet.getRow(rowIndex);
                //循环读取每一列的数据
                for(int cellIndex=0;cellIndex<3;cellIndex++){
                    cell = row.getCell(cellIndex);
                    switch (cell.getCellType()){
                        case XSSFCell.CELL_TYPE_NUMERIC:
                            System.out.println("列的值: "+String.valueOf(cell.getNumericCellValue()));
                            break;
                        case XSSFCell.CELL_TYPE_STRING:
                            System.out.println("列的值: "+cell.getStringCellValue());
                            break;
                        default:
                            System.out.println("列的值: "+cell.getStringCellValue());
                            break;
                    }
                }
            }
        }
    }
}

Excel数据:

技术分享图片

打印结果:

技术分享图片

 

POI读取Excel数据

原文:https://www.cnblogs.com/wakey/p/11334383.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!