Ethon

为什么要有方法,因为懒惰是一种美德。

   :: 首页  :: 新随笔  ::  ::  :: 管理
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数据:

打印结果:

 

posted on 2019-08-11 11:29  Ethon  阅读(402)  评论(0编辑  收藏  举报