NPOI 插入本地图片到excel

准备一张图片,替换我代码中的路径。

 创建一个方法:

  将如下内容copy。

会在你的d盘下创建一个excel 并插入了图片

                //1.创建EXCEL中的Workbook   
                //IWorkbook myworkbook = new HSSFWorkbook();
                //2.创建Workbook中的Sheet   
                //ISheet mysheet = myworkbook.CreateSheet("sheet1");
                //第一步:读取图片到byte数组 
                FileWebRequest request = (FileWebRequest)WebRequest.Create(@"D:\program\BadmintonWebService\BadmintonWebService\SignPicture\21aad64f6-67bb-476e-8527-c89e50216915.jpg");
                byte[] bytes;
                using (Stream stream = request.GetResponse().GetResponseStream())
                {
                    using (MemoryStream mstream = new MemoryStream())
                    {
                        int count = 0;
                        byte[] buffer = new byte[1024];
                        int readNum = 0;
                        while ((readNum = stream.Read(buffer, 0, 1024)) > 0)
                        {
                            count = count + readNum;

                            mstream.Write(buffer, 0, 1024);

                        }
                        mstream.Position = 0;
                        using (BinaryReader br = new BinaryReader(mstream))
                        {
                            bytes = br.ReadBytes(count);
                        }
                    }
                }
                //第二步:将图片添加到workbook中  指定图片格式 返回图片所在workbook->Picture数组中的索引地址(从1开始)
                int pictureIdx = workbook.AddPicture(bytes, NPOI.SS.UserModel.PictureType.JPEG);
                //第三步:在sheet中创建画部
                IDrawing patriarch = sheet.CreateDrawingPatriarch();
                //第四步:设置锚点 (在起始单元格的X坐标0-1023,Y的坐标0-255,在终止单元格的X坐标0-1023,Y的坐标0-255,起始单元格行数,列数,终止单元格行数,列数)
                IClientAnchor anchor = patriarch.CreateAnchor(0, 0, 0, 0, 0, 0, 2, 2);
                //第五步:创建图片
                IPicture pict = patriarch.CreatePicture(anchor, pictureIdx);
                6.保存       
                //FileStream file = new FileStream(@"D:\myworkbook11.xls", FileMode.Create);
                //workbook.Write(file);
                //file.Close();
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值