使用NPOI版本2.1.3.1,此行可以正常工作,返回一个包含数据的字节数组: 工作簿是XSSFWorkbook
using (var memoryStream = new MemoryStream())
{
workbook.Write(memoryStream);
return memoryStream.ToArray();
}
当升级到2.2(和2.3)时,它不再返回任何数据,字节数组有0个字节。 没有引发异常,只是无声地无法写入数据。
是否有新方法可以将此工作簿写成更新版本?
答案 0 :(得分:0)
我在您的代码中看不到任何问题。实际上,我正在使用类似的方法来获得结果。尝试使用MemoryStream类对返回的值进行类型转换,或将memorystream变量定义为MemoryStream类型。
下面是我的方法
public MemoryStream GetExcelStream()
{
MemoryStream ms = null;
using (ms = new MemoryStream())
{
workbook.Write(ms);
}
return ms;
}
MemoryStream excelMS = GetExcelStream();
..........................
Response.BinaryWrite(excelMS.ToArray());
Response.End();
如果上述方法无效,请参见此链接NPOI writes 0 bytes in the MemoryStream