将excel工作簿转换为byte []

时间:2011-11-20 13:23:31

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

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

如何退出excel文件而不将其保存在服务器中?

2 个答案:

答案 0 :(得分:6)

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

答案 1 :(得分:3)

您需要将其转换为字节[]吗?文件也可以返回流。

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");