码迷,mamicode.com
首页 > 其他好文 > 详细

POI读取Excel数据

时间:2019-08-11 13:17:20      阅读:60      评论:0      收藏:0      [点我收藏+]

标签:tst   usermod   apache   etc   表头   NPU   cep   pac   一个   

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数据

标签:tst   usermod   apache   etc   表头   NPU   cep   pac   一个   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!