前面我们学习了NPOI中的画简单直线和矩形的功能,今天我们一起学习一下它支持的另一种简单图形--圆形。同样,按照前面所讲的绘图“四步曲”:
1. 创建一个Patriarch;
2. 创建一个Anchor,以确定图形的位置;
3. 调用Patriarch创建图形;
4. 设置图形类型(直线,矩形,圆形等)及样式(颜色,粗细等)。
还是以例子加以说明:
1. 创建一个Patriarch;
2. 创建一个Anchor,以确定图形的位置;
3. 调用Patriarch创建图形;
4. 设置图形类型(直线,矩形,圆形等)及样式(颜色,粗细等)。
还是以例子加以说明:
HSSFSheet sheet1
=
hssfworkbook.CreateSheet(
"
Sheet1
"
);
HSSFPatriarch patriarch = sheet1.CreateDrawingPatriarch();
HSSFClientAnchor a1 = new HSSFClientAnchor( 0 , 0 , 1023 , 0 , 0 , 0 , 1 , 3 );
HSSFSimpleShape rec1 = patriarch.CreateSimpleShape(a1);
rec1.ShapeType = HSSFSimpleShape.OBJECT_TYPE_OVAL;
rec1.SetFillColor( 125 , 125 , 125 );
rec1.LineStyle = HSSFShape.LINESTYLE_DASHGEL;
rec1.LineWidth = 12700 ;
rec1.SetLineStyleColor( 100 , 0 , 100 );
WriteToFile();
HSSFPatriarch patriarch = sheet1.CreateDrawingPatriarch();
HSSFClientAnchor a1 = new HSSFClientAnchor( 0 , 0 , 1023 , 0 , 0 , 0 , 1 , 3 );
HSSFSimpleShape rec1 = patriarch.CreateSimpleShape(a1);
rec1.ShapeType = HSSFSimpleShape.OBJECT_TYPE_OVAL;
rec1.SetFillColor( 125 , 125 , 125 );
rec1.LineStyle = HSSFShape.LINESTYLE_DASHGEL;
rec1.LineWidth = 12700 ;
rec1.SetLineStyleColor( 100 , 0 , 100 );
WriteToFile();
这里rec1.ShapeType = HSSFSimpleShape.OBJECT_TYPE_OVAL;表示图形为椭圆。适当调整HSSFClientAnchor的各参数可以得到圆形。
关于HSSFClientAnchor构造函数和边框、填充色等前两节都有介绍,这里不再重述。详情情见: 画矩形 和 画线。
上面代码执行生成的Excel如下:
![](https://i-blog.csdnimg.cn/blog_migrate/d5d29fb890b744b9978e3e175a693e2f.jpeg)