[实战篇入门]01-POI读Excel

  这一章的内容就是告诉各位同窗如何入门POI的简单使用,再以后咱们还会学习如何封装模版,因为我的时间问题,不按期更新!若是有须要,请再QQ中联系我,好了,开始工做!html

  新建一个Java项目,首先须要一些列的jar包java

  直接上图讲解:apache

  

  这里须要注意jar包的下载,须要再Apache官网 http://poi.apache.org/download.html  中下载对应POI的包,里面有对应的API和帮助文档,学习

  再搭建过程当中遇到了缺乏xmlbeans.jar的状况,本身想办法解决,我曾经告诉大家如何下载jar文件的网站测试

  新建一个excel文件reader.xlsx中内容以下:网站

  

  入门测试代码:spa

public class PoiReaderTest {

    public static void main(String[] args) {
        try {
            Workbook workbook = WorkbookFactory.create(new File("E://java-workspace//shxt-2014//1001-POI读取Excel//xlxs//reader.xlsx"));
            Sheet sheet = workbook.getSheetAt(0);//经过索引获取
            //获取行
            Row row = sheet.getRow(0);
            Cell cell = row.getCell(0);
            
            System.out.println(cell.getStringCellValue());
            
            
        } catch (InvalidFormatException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

}

 

  读取所有信息,这里有一个简单的封装,不合格的封装,就是为了测试而已!excel

public class PoiReaderAllTest {

    public static void main(String[] args) {
        try {
            Workbook workbook = WorkbookFactory.create(new File("E://java-workspace//shxt-2014//1001-POI读取Excel//xlxs//reader.xlsx"));
            Sheet sheet = workbook.getSheetAt(0);//经过索引获取
            //获取最后的行数
            System.out.println(sheet.getLastRowNum());
            
            //进行遍历
            for(int i=0;i<=sheet.getLastRowNum();i++){
                //获取每行
                Row row = sheet.getRow(i);
                //对列数进行遍历
                for(int j=0;j<row.getLastCellNum();j++){
                    //获取单元格
                    //Cell cell = row.getCell(j);
                    //每一个字符串都有本身的类型,因此须要对每一个单元格的数据进行转换
                    System.out.print(getCellValue(row.getCell(j))+"--");
                }
                System.out.println();
            }
            
            
        } catch (InvalidFormatException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
    
    private static String getCellValue(Cell cell){
        //返回值
        String result = null;
        switch (cell.getCellType()) {//获取单元格的类型比较
        
        case Cell.CELL_TYPE_BLANK:
            result = "";
            break;
        case Cell.CELL_TYPE_BOOLEAN:
            result = String.valueOf(cell.getBooleanCellValue());
            break;
        case Cell.CELL_TYPE_FORMULA:
            result = String.valueOf(cell.getCellFormula());
            break;
        case Cell.CELL_TYPE_NUMERIC:
            result = String.valueOf(cell.getNumericCellValue());
            break;
        case Cell.CELL_TYPE_STRING:
            result = cell.getStringCellValue();
            break;

        default:
            result = null;
            break;
        }
        return result;
    }

}
相关文章
相关标签/搜索