代码改变世界

POI Excel 12 图形绘制

2012-07-21 17:57  java线程例子  阅读(461)  评论(0编辑  收藏  举报

@author YHC

图形绘制

POI支持图形绘制,使用的是Microsoft Office的图形绘制工具,开始绘制图形你需要根据HSSFSheet 类createPatriarch 方法创建图形绘制对象,这个将会

擦除该工作簿所有其他图形信息,POI会单独保留图形记录,除非你调用这个方法:

                    //创建Excel
		    Workbook wb = new HSSFWorkbook();
		    //创建工作簿
		    Sheet sheet = wb.createSheet("new sheet");
                     //根据Sheet创建图形绘制对象
		    HSSFPatriarch patriarch = (HSSFPatriarch) sheet.createDrawingPatriarch();
			//dx1 - 内部第一个单元格的X坐标
			//dy1 - 内部第一个单元格的Y坐标
			//dx2 - 内部第二个单元格的X坐标
			//dy2 - 内部第二个单元格的Y坐标
			//col1 - 第一个单元格的列(下标从0开始)
			//row1 - 第一个单元格的行(下标从0开始)
			//col2 - 第二个单元格的列(下标从0开始)
			//row2 - 第二个单元格的行(下标从0开始)
		    HSSFClientAnchor a = new HSSFClientAnchor( 0, 0, 1023, 255, (short) 0, 0, (short) 2, 2 );
		    //创建图形绘制对象
		    HSSFSimpleShape shape1 = patriarch.createSimpleShape(a);
		    //设置类型为直线
		    shape1.setShapeType(HSSFSimpleShape.OBJECT_TYPE_LINE);
		    //写入文件
		    FileOutputStream fileOut = new FileOutputStream("workbook.xls");
		    wb.write(fileOut);
		    fileOut.close();

运行之后效果图:


如果以上有写错误的地方,请告诉我thanks!