5

OpenXML SDK を使用しています。

OpenXML SDK は、CreatePackage というメソッドを次のように作成します。

public void CreatePackage(string filePath)
{
    using (SpreadsheetDocument package = SpreadsheetDocument.Create(filePath,               SpreadsheetDocumentType.Workbook))
    {
        CreateParts(package);
    }
}

プログラムから次のように呼び出して、指定されたパスに Excel ファイルを作成します。

gc.CreatePackage(excelFilePath);
Process.Start(_excelFilePath);

Excelファイルを表示するストリームを返すようにコードを微調整する方法と、ディスク上にファイルを作成する方法がわかりません。

4

1 に答える 1

2

ドキュメントにSpreadsheetDocument.Createよると、複数のオーバーロードがあり、そのうちの 1 つはStream.

コードを次のように変更します。

public void CreatePackage(Stream stream)
{
    using (SpreadsheetDocument package = SpreadsheetDocument.Create(stream,               SpreadsheetDocumentType.Workbook))
    {
        CreateParts(package);
    }
}

次に、有効な を使用して呼び出しますStream。次に例を示します。

using(var memoryStream = new MemoryStream())
{
   CreatePackage(memoryStream);
   // do something with memoryStream
}
于 2012-12-19T16:21:04.293 に答える