【问题标题】:Convert excel workbook to byte[]将excel工作簿转换为字节[]
【发布时间】:2011-11-20 13:23:31
【问题描述】:

我有一个"excel library" 工作簿,想将其转换为字节[],这样我就可以返回带有File method 存在于asp.net mvc 控制器中的数据。
有“Save”和“SaveToStream”方法,但没有转换为byte[]。

如何在不保存在服务器之前返回excel文件?

【问题讨论】:

    标签: c# asp.net asp.net-mvc asp.net-mvc-3 excel


    【解决方案1】:

    如果您有 SaveToStream,则可以将 MemoryStream 传递给该方法。然后,一旦写入所有字节,就在内存流上调用ToArray(),它应该会给你一个字节数组。

    【讨论】:

    • 你能在这里提供一些代码吗?我试过了,但是 Excel 文件坏了。
    • 如果我有 SaveToStream?检查了我的书桌抽屉,没有找到它。如果您还有一句话,也许这可能有用。
    【解决方案2】:

    是否需要将其转换为字节[]?文件也可以返回一个流。

    Workbook workbook = new Workbook();
    Worksheet worksheet = new Worksheet("First Sheet");
    worksheet.Cells[0, 1] = new Cell(9999999);
    
    workbook.Worksheets.Add(worksheet);
    
    MemoryStream m = new MemoryStream();
    workbook.SaveToStream(m);
    
    return File(m, "application/vnd.ms-excel");
    

    【讨论】:

    • 谢谢,但这不起作用,因为内存流不在开头。所以我写了 ToArray()。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-08
    • 2017-08-16
    • 2017-11-18
    • 2021-08-26
    • 2019-10-26
    相关资源
    最近更新 更多