java解析Excel文档


首先看一下Excel文档,需要注意的是每个横着的是一行,竖着的是一列,每个Excel代表一个WorkBook对象,每一个Sheet代表一页,同理下标从0开始。



解析Excel:


    public WorkBook analyze(File file){
        System.out.println("fileName"+file);
        try {
            InputStream is = new FileInputStream(file);
            //final POIFSFileSystem poifsFileSystem = new POIFSFileSystem(is);
            //获取到Excel表格对象
            final XSSFWorkbook xssfWorkbook = new XSSFWorkbook(is);
            //获取到第1页
            XSSFSheet xssfSheet= xssfWorkbook.getSheetAt(0);
            //获取到第2行
            XSSFRow row = xssfSheet.getRow(1);
            //获取到第2行第1列
            XSSFCell cell = row.getCell(0);
            //获取到总行数,       0开始(0行是标题)
            int lastRowNum = xssfSheet.getLastRowNum();
            //第0行是标题不需要,所以i=1;直接从第二行开始
            for (int i=1;i<=lastRowNum;i++){
                //获取到每一行的行对象
                XSSFRow row1 = xssfSheet.getRow(i);
                //获取到总列数    index0开始
                short lastCellNum = row1.getLastCellNum();
                for (int j=0;j<lastCellNum;j++){
                    //获取到每一列对象
                    XSSFCell cell1 = row1.getCell(j);
                    //设置单元格类型
                    cell1.setCellType(CellType.STRING);
                    //打印内容
                    System.out.println(cell1.getStringCellValue());
                }
                System.out.println();
            }
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
        return null;
    }
                                                                                

最后一个简单的值就打印出来了


猜你喜欢

转载自blog.csdn.net/Li_Zhongxin/article/details/80355741