@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!