台灣最大程式設計社群網站
線上人數
1649
 
會員總數:240903
討論主題:186661
歡迎您免費加入會員
討論區列表 >> ASP.NET >> 關於Epplus,有一次匯出多筆Excel方法嗎?
[ 變換順序 ]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
關於Epplus,有一次匯出多筆Excel方法嗎?
價值 : 200 QP  點閱數:254 回應數:3

樓主

宋晨星
門外漢
0 1
35 1
發送站內信


工作上需要將Excel用一個按鍵將所有查詢到的資料全部匯出,所以我用了一個迴圈跑,假如說要跑10次,理念上應該是要全部跑完,但實際上它只跑了1次,我完全不了解為什麼?

不知道是否是因為Epplus裡 Response.End();的關係,因為我有加這行,它就只跑出一個Excel。

那沒加的話,迴圈既然就跑完了,只是最後一個Excel都沒有還出現疑似網頁死掉的訊息:

【這個網頁無法正常運作
localhost 傳送的回應無效。
ERR_RESPONSE_HEADERS_MULTIPLE_CONTENT_DISPOSITION】

不知道各位大哥大姊是否能幫小弟解決這問題,還是有什麼其他方式能讓我一次匯出多筆Excel?

以下為迴圈判斷





搜尋相關Tags的文章: [ Epplus ] ,
本篇文章發表於2017-08-07 13:37
別忘捐VP感謝幫助你的人 新手會員瞧一瞧
1樓
最有價值解答

haoaho
檢舉此回應
有點不太懂你是要跑出一份Excel有十筆資料
還是要一次輸出十份Excel
但我想應該是前者吧

"理念上應該是要全部跑完,但實際上它只跑了1次"
可以下中斷點下去查看問題出在哪

由於你給的程式不完整,所以也不知道問題在哪
以下範例碼給你參考,有些地方自己做調整



本篇文章回覆於2017-08-07 17:43
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
不錯的參考

MIS2000 Lab
檢舉此回應
如果真如原PO說的

Response.End()
的確程式到此就終止了
本篇文章回覆於2017-08-08 09:11
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
作者回應

宋晨星
檢舉此回應

我是想一次就下載10份Excel,但因為碰上Response.End();迴圈跑一次就不動了。
而後來我去詢問了一些前輩,他們說用儲存的方式就可以把全部資料都下載下來,然後用 Response.Flush(); & HttpContext.Current.ApplicationInstance.CompleteRequest();
去替代 Response.End(); 就可以動了!!
感謝回復
本篇文章回覆於2017-08-09 15:10
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
[ 變換順序 ]   
1

回覆
如要回應,請先登入.