使用POI 向Excel中追加数据

来源:互联网 发布:淘宝双11总额 编辑:程序博客网 时间:2024/06/05 10:44

         引言:最近对于Excel 的导出接触的比较多,一直也没有系统的去整理,在此做一个简单的整理,先说如何向Excel中追加数据,至于Excel的导出、导入会在下几篇篇文章中详细描述。希望够共同学习。ok,直接上代码:

 

public static void main(String[] args) {         String   filePath="D:\\test.xls";  // 输出流  try {   FileInputStream is = new FileInputStream(filePath);   Workbook wb =getWorkbook(is);   System.out.println("aaa");   Sheet sheet1 = wb.getSheetAt(0);   System.out.println(sheet1.getLastRowNum());   Row row = sheet1.createRow(sheet1.getLastRowNum() + 1);   row.setHeightInPoints((short) 25);   // 给这一行赋值   row.createCell(0).setCellValue("12");   row.createCell(1).setCellValue("23");   FileOutputStream os = new FileOutputStream(filePath);   wb.write(os);   is.close();   os.close();  } catch (Exception e) {   e.printStackTrace();  } }
public static Workbook getWorkbook(InputStream is) throws IOException{        Workbook wb = null;                if(!is.markSupported()){                    is = new PushbackInputStream(is,8);                         }                if (POIFSFileSystem.hasPOIFSHeader(is)) {       //Excel2003及以下版本                    wb = (Workbook) new HSSFWorkbook(is);                }else if (POIXMLDocument.hasOOXMLHeader(is)) {      //Excel2007及以上版本                    wb = new XSSFWorkbook(is);                  }else{                    throw new IllegalArgumentException("你的Excel版本目前poi无法解析!");                                  }          //  }        return wb;    } 

部分代码解释:Workbook wb =getWorkbook(is);将要追加的文件变成一个输入流,从而得到Workbook,第二部分主要是对于Excel版本的一些判断,不同的版本解析的方式也不一样。解析所需要的包http://download.csdn.net/detail/javaweiming/5848751。

原创粉丝点击