NPOI创建组合

组合是文字,图片,文本框等的结合 

//创建一个工作簿
HSSFWorkbook workbook = new HSSFWorkbook();
//创建一个sheet
ISheet sheet1 = workbook.CreateSheet("sheet1");
HSSFPatriarch patriarch = (HSSFPatriarch)sheet1.CreateDrawingPatriarch();
HSSFClientAnchor a1 = new HSSFClientAnchor(255, 125, 1023, 150, 0, 0, 2, 2);

//创建组合
HSSFShapeGroup hSSFShapeGroup = patriarch.CreateGroup(a1);
HSSFChildAnchor childAnchor1 = new HSSFChildAnchor(255, 125, 1023, 150);
HSSFChildAnchor childAnchor2 = new HSSFChildAnchor(0, 0, 1023, 150);

//组合加直线
HSSFSimpleShape shape1 = hSSFShapeGroup.CreateShape(childAnchor1);
shape1.ShapeType = HSSFSimpleShape.OBJECT_TYPE_LINE;
shape1.LineStyle = HSSFShape.LINESTYLE_SOLID;

//组合加图片
string picPath = @"C:\Users\537\Desktop\Test\图片1.png";
FileStream picFs = File.OpenRead(picPath); //OpenRead
int filelength = 0;
filelength = (int)picFs.Length; //获得文件长度 
Byte[] image = new Byte[filelength]; //建立一个字节数组 
picFs.Read(image, 0, filelength); //按字节流读
int pictureIdx = workbook.AddPicture(image, PictureType.PNG);
hSSFShapeGroup.CreatePicture(childAnchor2, pictureIdx);

//组合加文本框
HSSFTextbox hSSFTextbox = hSSFShapeGroup.CreateTextbox(childAnchor2);
hSSFTextbox.WrapText = 1;
IRichTextString richTextString = new HSSFRichTextString("123");
IFont font = workbook.CreateFont();
font.FontName = "C39HrP36DmTt";// 字体
font.FontHeightInPoints = 36;// 字号大小
richTextString.ApplyFont(font);
hSSFTextbox.String = richTextString;

using (Stream stream = File.OpenWrite("d:\\ccc.xls"))
{
    workbook.Write(stream);
}

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值