ClosedXml 无法访问已关闭的流
ClosedXml Cannot access a closed Stream
我在尝试将 ClosedXML 工作簿 (XLWorkbook) 保存到内存流时收到 "Cannot access a closed Stream"。
public byte[] GetStream()
{
using (var stream = new MemoryStream())
{
Workbook.SaveAs(stream);
return stream.ToArray();
}
}
据我所知,ClosedXml 库中存在问题,因为流是在访问保存方法之前创建的。
这取决于您创建工作簿的方式。如果它是从 Stream 创建的,它将在 save 操作期间访问该原始流。
所以异常不是由于您在保存方法中提供的内存流,而是原始流是罪魁祸首。确保在完成要对工作簿执行的所有操作之前保持该流可用。
我在尝试将 ClosedXML 工作簿 (XLWorkbook) 保存到内存流时收到 "Cannot access a closed Stream"。
public byte[] GetStream()
{
using (var stream = new MemoryStream())
{
Workbook.SaveAs(stream);
return stream.ToArray();
}
}
据我所知,ClosedXml 库中存在问题,因为流是在访问保存方法之前创建的。
这取决于您创建工作簿的方式。如果它是从 Stream 创建的,它将在 save 操作期间访问该原始流。
所以异常不是由于您在保存方法中提供的内存流,而是原始流是罪魁祸首。确保在完成要对工作簿执行的所有操作之前保持该流可用。