1

Excelファイルを作成してダウンロードできるようにしようとしています。しかし、ダウンロード部分に問題があります。

私はEPPlusxmlファイルを作成するために使用しています。私はそれを機能させました。でもあくまでローカル。ファイルのダウンロードを強制する方法がわかりません。

これは私のコードです:

public Stream GetXlsxDocument(IQueryable data)
{
    const string sheetName = "Sheet1";
    var localFile = new FileInfo(@"C:\test2.xlsx");
    var file = new FileInfo("test2.xlsx");
    // Used for local creation
    //ExcelPackage p = new ExcelPackage();
    MemoryStream stream = new MemoryStream();
    using (ExcelPackage p = new ExcelPackage(stream))
    {
        p.Workbook.Worksheets.Add("Sheet1");
        ExcelWorksheet ws = p.Workbook.Worksheets[1];
        ws.Name = sheetName;
        ws.Cells.Style.Font.Size = 11;
        ws.Cells.Style.Font.Name = "Calibri";
        ws.SetValue(1, 1, "aaa"); // Test data
        // Used for local creation
        //p.SaveAs(localFile);
        p.SaveAs(stream);
    }
    return stream;
}

私が前に言ったように。xlsxC:\ ディスクにローカルにファイルを作成することはできます。xlsxしかし、作成したファイルを強制的にダウンロードするにはどうすればよいですか?

現在、xlsx0バイトのファイルを提供しています。空ではないストリームを返す必要があります。どうすればこれを行うことができるか誰にもわかりません..??

4

1 に答える 1

1

それを巻き戻します:

stream.Position = 0;
return stream;
于 2012-09-12T11:07:37.967 に答える