ClosedXml无法访问已关闭的Stream

时间:2016-12-31 10:31:32

标签: c# openxml memorystream closedxml

当我尝试将ClosedXML工作簿(XLWorkbook)保存到内存流时,我收到“无法访问已关闭的流”。

    public byte[] GetStream()
    {
        using (var stream = new MemoryStream())
        {
            Workbook.SaveAs(stream);

            return stream.ToArray();
        }
    }

据我所知,ClosedXml库中存在一个问题,因为在访问save方法之前已经创建了流。

1 个答案:

答案 0 :(得分:2)

这取决于您创建工作簿的方式。如果它是从Stream创建的,它将在save操作期间访问该原始流。

因此,异常不是由于您在save方法中提供的内存流,而是原始流是罪魁祸首。确保在完成工作簿上要执行的所有操作之前保持该流可用。