台灣最大程式設計社群網站
線上人數
1045
 
會員總數:242640
討論主題:187614
歡迎您免費加入會員
討論區列表 >> ASP.NET >> Gridview自動產生Excel檔問題(Send Email夾檔案)
[]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
Gridview自動產生Excel檔問題(Send Email夾檔案)
價值 : 30 QP  點閱數:240 回應數:4

樓主

steven
門外漢
0 1
100 2
發送站內信

開發軟體:VS2008 程式語言:ASP.NET 資料庫:SQL2012

各位好
小弟目前有一支程式會自動跑報表寄出給相關的人員
現行做法是將Gridview跑出的的資料放置Send_email中的emailBody裡寄出
然後現在想改成Gridview裡跑出來的資料直接變成附件檔放在email的附件檔中寄出

之前的想法如下
1.web上Gridview跑出來的結果自動匯出Excel儲存在Server指定位置
2.執行Email排程時將指定位置夾帶至附件檔中寄出

後來有參考版上其他版友提出的問題修改如下(http://www.blueshop.com.tw/board/show.asp?subcde=BRD201005190138422MS)
1.執行email寄送時連帶執行excel()副程式將Gridview的資料夾帶至email中

目前遇到一個問題收到的附件檔中的內容並不是像Gridview查到的那樣表格呈現 而是想html語法逐行呈現
如下
<div>
" <table cellspacing=""0"" cellpadding=""4"" border=""0"" id=""ctl00_ContentPlaceHolder1_report_gridview"" style=""color:#333333;border-collapse:collapse;"">"
" <tr style=""color:White;background-color:#507CD1;font-weight:bold;"">"
" <th scope=""col"">EID</th><th scope=""col"">Current</th><th scope=""col"">value</th><th scope=""col"">remark</th>"
" </tr><tr style=""background-color:#EFF3FB;"">"
" <td>01083153088</td><td>3</td><td>6</td><td>&nbsp;</td>"
" </tr><tr style=""background-color:White;"">"
" <td>01093857080</td><td>5</td><td>8</td><td>&nbsp;</td>"
" </tr><tr style=""background-color:#EFF3FB;"">"
" <td>01125677048</td><td>3</td><td>9</td><td>&nbsp;</td>"
" </tr><tr style=""background-color:White;"">"
" <td>01201383306</td><td>8</td><td>11</td><td>&nbsp;</td>"



Gridview內容打包程式碼



Send Email中的夾帶檔案程式碼(先執行將Gridview內容打包再寄出)



搜尋相關Tags的文章: [ Gridview自動匯出 ] ,
本篇文章發表於2018-03-12 15:04
別忘捐VP感謝幫助你的人 新手會員瞧一瞧
1樓
最有價值解答

topcat
捐贈 VP 給 topcat 檢舉此回應
前一個討論有點久遠(2010,8年前)


以現在的開發環境,小喵的建議是:
1.使用NPOI產生Excel檔案,存於Server
2.針對該檔案,以附件的方式,寄送給發送對象

會這樣建議,他的好處是:
1.真正產生Excel檔案,且檔案大小有壓縮過,比資料放在EMail中,檔案會小很多
2.真正的Excel檔案,使用者應用上,方便許多

小喵的經驗,原本將資料寫成html用EMail寄出,
原本5MB的內容,改以NPOI產生真正的Excel檔案,附件大小只剩1MB左右,信件大小節省80%

提供您參考

^_^
本篇文章回覆於2018-03-12 16:14
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
回應

topcat
捐贈 VP 給 topcat 檢舉此回應
NPOI的相關做法,您可以參考小喵的這一篇
[NPOI][Excel]寫個公用程式(類別),以利後續轉換DataTable , DataReader, Objects 成為 Excel檔案


^_^
本篇文章回覆於2018-03-12 16:18
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
回應

Forevertim
檢舉此回應
1.將資料直接在Mail上面呈現,就不用想轉檔之類的事情
2.要Excel檔案,如小喵大大所言,用NPOI吧
本篇文章回覆於2018-03-13 08:50
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
4樓
作者回應

steven
檢舉此回應
感謝喵大的建議
雖然最後我是參考這篇改的,但多虧大大們指點才有方向

參考網站也分享給大家
https://www.aspsnippets.com/Articles/Export-GridView-data-to-Excel-and-send-Excel-File-as-email-attachment-in-ASPNet.aspx

說明:
我直接將需要用到的SQL資料直接轉成DataTable
然後再藉由上述範例(如喵大建議的NPOI產生Excel)轉道email附件檔中再寄出以達到我需要的結果
本篇文章回覆於2018-03-19 15:47
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
   
1

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