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