如何从流中打开ClosedXML工作簿?

时间:2017-08-16 15:17:01

标签: c# closedxml

我有一个ASP.NET MVC应用程序,用户可以上传要处理的xlsx文件。

这会在上传中创建一个HttpPostedFileBase对象,该对象具有便捷的流方法HttpPostedFileBase.InputStream

我想使用ClosedXML处理文件,但我不知道如何从流构建XLWorkbook对象。 Other SO answers使用这样的普通文件:

 string fileName = "C:\\Folder1\\Prev.xlsx";
 var workbook = new XLWorkbook(fileName);

This question探讨如何将SaveAs作为流,但我想从流中创建。

那么如何从流中打开XLWorkbook

1 个答案:

答案 0 :(得分:2)

我在ClosedXML Wiki附近巡航,但没有找到任何东西,所以我去看了the source on github

我找到了这个方法:

    /// <summary>
    ///   Opens an existing workbook from a stream.
    /// </summary>
    /// <param name = "stream">The stream to open.</param>
    public XLWorkbook(Stream stream):this(stream, XLEventTracking.Enabled)
    {

    }

然后你应该可以像这样打开我的HttpPostedFileBase:

var workbook = new XLWorkbook(httpPostedFileBase.InputStream);