`
fulerbakesi
  • 浏览: 562724 次
文章分类
社区版块
存档分类
最新评论

POI Excel 03

 
阅读更多

@author YHC

工作薄 border边框样式:

//创建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进行遍历,代码如下:

             //根据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();
	        // 你需要实现功能的代码...
	      }
	    }


如果有写错的地方请大家指出,thanks!




分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics