POI读取Excel数据

Posted wakey

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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模板,修正内容之后,如何另存为新excel?

poi读取excel 列宽

java poi 读取excel 数字类型

为啥用poi读取excel 的数字全是double

java 关于poi读取excel颜色

java的poi技术读取Excel数据