0
外部ExcelファイルストリームからOpenXml SpreadsheetDocumentを作成しています。数式と値を追加します。OpenXML SpreadsheetDocumentをストリームに保存する
ただし、ストリームに保存しようとすると、ほとんどのデータが失われ、開くことはできません。ここで
は、私が使用するコードです:
var stream= new MemoryStream();
.
.
.
spreadsheetDocument.WorkbookPart.Workbook.Save(stream);
stream = new MemoryStream(stream.ToArray());
stream.Position = 0;
return stream;
本当に2つのMomoryStreamは必要ありません。 私はメモリからの出力を読み込み、それをブラウザにレンダリングしています。そして私は.Close()を呼び出していないので、 "spreadsheetDocument.WorkbookPart.Workbook.Save(tempStream);"と呼びました。 推奨される "Flush()"を使用しますが、ブラウザは出力をレンダリングできません。それは言う: "ブックはおそらく破損しているか、サポートされていないファイル形式を使用します。 –
@BaronNtambwe、これをまだ解決していなければ(申し訳ありませんが、休暇中でした)、完全な機能を表示できますか?ストリームをファイルに保存しようとしましたが、そのようなファイルは読み込み可能ですか? – r41n
私はOpenXMLとCloseXMLの組み合わせを使ってしまいました。 OpenXMLで処理し、ストリームをCloseXMLに渡して保存します。 それはうまくいきました。 –