zoukankan      html  css  js  c++  java
  • 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 原理同上。

  • 相关阅读:
    python 数据类型 变量 注释
    tornado 模版
    tornado 响应头 中断 状态码 工作流程
    tornado write render redirect IP
    tornado样板
    Celery实现异步任务
    Python pika简单实现RabbitMQ通信
    进程、线程与协程的比较
    使用 flask 实现 RESTful API
    阿里云服务器部署Tornado应用
  • 原文地址:https://www.cnblogs.com/lhlong/p/13639429.html
Copyright © 2011-2022 走看看