当前位置:软件学习 > Excel >>

POI Excel 03

@author YHC

工作薄 border边框样式:


[java]
//创建Excel  
            Workbook wb = new HSSFWorkbook(); 
            //创建工作薄  
            Sheet sheet = wb.createSheet("new sheet"); 
 
            //创建一个行对象,添加一些单元格到里面,Row的下标从0开始  
            Row row = sheet.createRow(1); 
 
            //创建一个单元格,并添加值到里面  
            Cell cell = row.createCell(1); 
            cell.setCellValue(4); 
 
            //这个样式是设置工作薄四周的边框的样式  
            CellStyle style = wb.createCellStyle(); 
            //下边框   
            style.setBorderBottom(CellStyle.SOLID_FOREGROUND); 
            //下边框颜色  
            style.setBottomBorderColor(IndexedColors.BLACK.getIndex());//黑色  
            //左边框  
            style.setBorderLeft(CellStyle.SOLID_FOREGROUND); 
            //左边框颜色  
            style.setLeftBorderColor(IndexedColors.BLUE.getIndex());//蓝色  
            //右边框  
            style.setBorderRight(CellStyle.SOLID_FOREGROUND); 
            //右边框颜色  
            style.setRightBorderColor(IndexedColors.YELLOW.getIndex());//黄色  
            //上边框  
            style.setBorderTop(CellStyle.BORDER_MEDIUM_DASHED);//虚线  
            //上边框颜色  
            style.setTopBorderColor(IndexedColors.RED.getIndex());//红色  
            //设置单元格样式  
            cell.setCellStyle(style); 
 
            // 写入文件  
            FileOutputStream fileOut = new FileOutputStream("workbook.xls"); 
            wb.write(fileOut); 
            fileOut.close(); 

//创建Excel
      Workbook wb = new HSSFWorkbook();
      //创建工作薄
      Sheet sheet = wb.createSheet("new sheet");

      //创建一个行对象,添加一些单元格到里面,Row的下标从0开始
      Row row = sheet.createRow(1);

      //创建一个单元格,并添加值到里面
      Cell cell = row.createCell(1);
      cell.setCellValue(4);

      //这个样式是设置工作薄四周的边框的样式
      CellStyle style = wb.createCellStyle();
      //下边框
      style.setBorderBottom(CellStyle.SOLID_FOREGROUND);
      //下边框颜色
      style.setBottomBorderColor(IndexedColors.BLACK.getIndex());//黑色
      //左边框
      style.setBorderLeft(CellStyle.SOLID_FOREGROUND);
      //左边框颜色
      style.setLeftBorderColor(IndexedColors.BLUE.getIndex());//蓝色
      //右边框
      style.setBorderRight(CellStyle.SOLID_FOREGROUND);
      //右边框颜色
      style.setRightBorderColor(IndexedColors.YELLOW.getIndex());//黄色
      //上边框
      style.setBorderTop(CellStyle.BORDER_MEDIUM_DASHED);//虚线
      //上边框颜色
      style.setTopBorderColor(IndexedColors.RED.getIndex());//红色
      //设置单元格样式
      cell.setCellStyle(style);

      // 写入文件
      FileOutputStream fileOut = new FileOutputStream("workbook.xls");
      wb.write(fileOut);
      fileOut.close();运行后效果:

 

 \


遍历所有的行和单元格:

有时候,你仅仅只想遍历工作薄中所有的行,或是行中所有的单元格,这个是允许的,只需要一个简单的循环便能完成此功能,

太幸运了,这个是如此简单,行对象(Row)中定义了一个内部类,CellIterator 来处理迭代所有的单元格(得到其中的任

意一行,去调用row.cellIterator()),和工作薄提供了rowIterator()方法,提供一个迭代器遍历所有的行.另外

Sheet(工作薄) and Row(行对象) 都实现了 java.lang.Iterable类,所以,使用Java1.5提供的


内置的"foreach"的支持,简单的利用foreach进行遍历,代码如下:


[java]
     //根据Workbook对象得到工作薄  
 Sheet sheet = wb.getsheetat(0); 
//得到行迭代器,遍历所有行  
for (iterator<row> rit = sheet.rowiterator(); rit.hasnext(); ) { 
  //得到行对象  
  Row row = rit.next(); 
  //根据行对象得到所有的单元格,遍历所有单元格  
  for (iterator<cell> cit = row.celliterator(); cit.hasnext(); ) { 
    //得到该单元格  
    Cell cell = cit.next(); 
    // 你需要实现功能的代码...  
  } 

             //根据Workbook对象得到工作薄
      Sheet sheet = wb.getsheetat(0);
     //得到行迭代器,遍历所有行
     for (iterator<row> rit = sheet.rowiterator(); rit.hasnext(); ) {
       //得到行对象
       Row row = rit.next();
     &nb

补充:软件开发 , Java ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,