NPOI 操作excel之 将图片插入到指定位置;

转 https://www.cnblogs.com/zxs-onestar/p/9698762.html

 

//新建类 重写Npoi流方法
   public class NpoiMemoryStream : MemoryStream
   {
       public NpoiMemoryStream()
       {
           AllowClose = true;
       }
 
       public bool AllowClose { getset; }
 
       public override void Close()
       {
           if (AllowClose)
               base.Close();
       }
   }
1
2
3
4
5
6
7
8
9
10
11
using (var ms = new NpoiMemoryStream())
      {
          ms.AllowClose = false;
          xssfWorkBook.Write(ms);
          ms.Flush();
          ms.Position = 0;
          ms.AllowClose = true;
          byte[] msbytes = ms.GetBuffer(); //new byte[0];
       
          return File(msbytes, excelType, "商品二维码打印数据" + DateTime.Now.ToString("YYMMddhhmmss") + filetype);
      }     

  

使用 xssf 导出excel 会出现无法访问流的报错。 需要重写下数据流;

 

 

 

 

 

dx1 dy1 起始单元格中的x,y坐标.

dx2 dy2 结束单元格中的x,y坐标

col1,row1 指定起始的单元格,下标从0开始

col2,row2 指定结束的单元格 ,下标从0开始

 

dx1:图片左边相对excel格的位置(x偏移) 范围值为:0~1023;即输100 偏移的位置大概是相对于整个单元格的宽度的100除以1023大概是10分之一

dy1:图片上方相对excel格的位置(y偏移) 范围值为:0~256 原理同上。

dx2:图片右边相对excel格的位置(x偏移) 范围值为:0~1023; 原理同上。

dy2:图片下方相对excel格的位置(y偏移) 范围值为:0~256 原理同上。

posted @ 2020-09-09 16:03  人生为卒  阅读(691)  评论(0编辑  收藏  举报