c# - ClosedXml 无法访问已关闭的流

标签 c# openxml memorystream closedxml

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

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

            return stream.ToArray();
        }
    }

据我所知,ClosedXml 库中存在问题,因为流是在访问保存方法之前创建的。

最佳答案

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

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

关于c# - ClosedXml 无法访问已关闭的流,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41407515/

相关文章:

c# - 无法插入 OpenXmlElement "newChild",因为它是树的一部分

c# - 使用 OpenXML 从 HTML 文件生成 docx 文件

c# - 如何简化此 MemoryStream 代码

c# - 让 PdfStamper 与 MemoryStreams 一起工作(c#,itextsharp)

c# - 将 'System.Collections.Generic.IReadOnlyList<T>' 转换为 'Microsoft.AspNetCore.Mvc.ActionResult<System.Collections.Generic.IReadOnlyList<T>>> 时出现问题

c# - Enumerable 方法中的 GroupBy

c# - 检查 T 泛型类型是否具有 C# 中的属性 S(泛型)

c# - 如何使用 asp.net 创建和下载 excel 文档

c# - wse 3.0 或 wcf 以及从哪里开始

c# - 如何将包含 PDF 文件数据的两个内存流合并为一个