组合是文字,图片,文本框等的结合
//创建一个工作簿
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);
}