2013-11-26 55 views

回答

1

確實可以。只需傳遞給您的HTTP請求的Response.OutputStream即可。這樣的東西應該工作(其中yourStream是從你的內存excel文檔流):

Response.Clear(); 
    Response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"; 
    Response.AddHeader("Content-Disposition", "attachment; filename=myfile.xlsx"); 
    yourStream.WriteTo(Response.OutputStream); 
    Response.Flush(); 
+0

謝謝@geedubb,似乎是我的問題的解決方案。 :) 但我對「yourStream」對象有一個疑問。它是MemoryStream類的一個對象嗎? –

+0

我們可以如下使用這個對象: MemoryStream m = new MemoryStream(); m.WriteTo(Response.OutputStream); 我可能在這裏錯了,因爲我們可能必須傳遞文件的字節來初始化MemoryStream對象。 這是因爲使用NetOffice創建Excel文件,我只獲取ExcelApplication,WorkBook和WorkSheet類的對象。只是爲了您的信息,當我做WorkBookObject.Visible = true; excel文件在服務器上可見。但我沒有找到一種方法來獲取工作簿對象的字節,以便我可以將它傳遞給MemoryStream並初始化它。 –

+0

是的,你建議使用memoryStream應該工作,但我不熟悉NetOffice。你可以更新你的問題,並分享創建你的Excel文件的代碼樣本,我會嘗試進一步幫助嗎? – geedubb

相關問題