使用POI 向Excel中追加数据

         引言:最近对于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

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值