6 Stimmen

Excel-Arbeitsmappe in byte[] umwandeln

Ich habe eine "Excelbibliothek" Arbeitsmappe und möchte sie in ein Byte[] konvertieren, damit ich die Daten mit dem Datei-Methode in asp.net mvc controller existieren.
Es gibt die Methoden "Save" und "SaveToStream", aber keine Umwandlung in byte[].

Wie kann ich die Excel-Datei zurückgeben, ohne sie vorher auf dem Server zu speichern?

8voto

blowdart Punkte 53842

Wenn Sie ein SaveToStream haben, können Sie eine MemoryStream in diese Methode. Wenn dann alle Bytes geschrieben sind, rufen Sie ToArray() auf den Speicherstrom, wodurch Sie ein Byte-Array erhalten sollten.

1voto

Dallas Punkte 2207

Müssen Sie es in ein Byte[] umwandeln? File kann auch einen Stream zurückgeben.

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

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X