2003和2007版本区别:
HSSFWorkbook(2003)
IWorkbook(2007版本)
写完之后会有个问题,导出会报错【流已关闭】。
NPOI生产.xlsx文件件时,在使用book.Write(ms);后,会关闭流,这样导致再次使用Respons输出流的时候就出错了。
我看到一些网友提供的解决办法是:
public class NPOIMemoryStream:MemoryStream
{
/// <summary>
/// 获取流是否关闭
/// </summary>
public bool IsColse
{
get;
private set;
}
public NPOIMemoryStream(bool colse=false)
{
IsColse = colse;
}
public override void Close()
{
if (IsColse)
{
base.Close();
}
}
}
使用自定义流代替内存流,这样就可以保证流不会被自定关闭了