POI读取Excel数据

POI读取Excel数据
强烈推介IDEA2021.1.3破解激活,IntelliJ IDEA 注册码,2021.1.3IDEA 激活码  

大家好,我是架构君,一个会写代码吟诗的架构师。今天说一说POI读取Excel数据,希望能够帮助大家进步!!!

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

打印结果:

POI读取Excel数据

 

posted on
2019-08-11 11:29 
Ethon 阅读(
...) 评论(
...)
编辑 收藏

转载于:https://www.cnblogs.com/wakey/p/11334383.html

本文来源weixin_30595035,由架构君转载发布,观点不代表Java架构师必看的立场,转载请标明来源出处:https://javajgs.com/archives/29505

发表评论