//新建類 重寫Npoi流方法
public class NpoiMemoryStream : MemoryStream
{
public NpoiMemoryStream()
{
AllowClose = true;
}
public bool AllowClose { get; set; }
public override void Close()
{
if (AllowClose)
base.Close();
}
}
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 原理同上。
xls 好用。 2007的格式不好用。 請注意
