POI之excel操作(一)

在实际开发过程中,我们经常需要导出数据,导入数据,无可避免的就要使用到excel,知道它的使用场景就开始我们的第一个Demo

  1. 导入pom依赖

        org.apache.poi
        poi
        3.9
    
  1. 包名称说明
    POI提供了多种格式的操作,详情请参考官网API传送门 ,本篇只讨论 excel。ps: 操作doc等格式需要导入其他jar包
  • HSSF - 提供读写Microsoft Excel格式档案的功能。
  • HWPF - 提供读写Microsoft Word格式档案的功能。
  • HSLF - 提供读写Microsoft PowerPoint格式档案的功能。

写入

ps:本操作实在.xls格式下进行的,请注意

 //创建工作簿
        HSSFWorkbook workbook = new HSSFWorkbook() ;
        //设置保存入径
        String filePath= "D:\\TEST.xls";
        //工作类
        HSSFSheet sheet = workbook.createSheet("tanoak");
        HSSFRow rows =  sheet.createRow(0) ;
        HSSFCell cell = rows.createCell(0);
        cell.setCellValue("张三");
        rows.createCell(1).setCellValue("男");
        rows.createCell(2).setCellValue(28); 

        FileOutputStream fileOutputSteam = new FileOutputStream(filePath);

        workbook.write(fileOutputSteam);
        System.out.println("保存成功");
        fileOutputSteam.close();

读取

String filePath= "D:\\TEST.xls";
        String text="";
        FileInputStream is =  new FileInputStream(filePath);
            HSSFWorkbook excel=new HSSFWorkbook(is);
            //获取第一个sheet
            HSSFSheet sheet0=excel.getSheetAt(0);
            for (Iterator rowIterator = sheet0.iterator(); rowIterator.hasNext();) {
                HSSFRow row=(HSSFRow) rowIterator.next();
                for (Iterator iterator=row.cellIterator();iterator.hasNext();) {
                    HSSFCell cell=(HSSFCell) iterator.next();
                    //根据单元的的类型 读取相应的结果
                    if(cell.getCellType()==HSSFCell.CELL_TYPE_STRING) text+=cell.getStringCellValue()+"\t";
                    else if(cell.getCellType()==HSSFCell.CELL_TYPE_NUMERIC) text+=cell.getNumericCellValue()+"\t";
                    else if(cell.getCellType()==HSSFCell.CELL_TYPE_FORMULA) text+=cell.getCellFormula()+"\t";
                }
            }
        System.out.println(text);

更多操作,可以参考这个网址

下一篇文章将使用EasyPoi 来操作,带你体验操作之美

你可能感兴趣的:(POI之excel操作(一))