gdoron
gdoron

Reputation: 150293

Convert excel workbook to byte[]

I have an "excel library" workbook and want to convert it to a byte[] so I could return the data with the File method exist in asp.net mvc controller.
There are "Save" and "SaveToStream" method, but no convert to byte[].

How can I return the excel file without saving it in server before?

Upvotes: 6

Views: 47350

Answers (2)

Dallas
Dallas

Reputation: 2237

Do you need to convert it to a byte[]? File can also return a stream.

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

Upvotes: 1

blowdart
blowdart

Reputation: 56540

If you have a SaveToStream you could pass in a MemoryStream into that method. Then, once all the bytes are written call ToArray() on the memory stream, which should give you a byte array.

Upvotes: 8

Related Questions