2012-07-03 21 views
0

我正在尋找一些編碼示例,以便能夠在頁面啓動時自動將當前gridview數據導出到excel文件,然後將其附加到一封郵件併發送郵件。ASP.NET - 將gridview數據導出爲ex​​cel並直接發送郵件

我有一個導出到Excel功能,但此功能要求用戶保存或查看文件,我急需跳過這一步,因爲我希望我的腳本自動運行。

如果有人可以幫助我這個可以理解的:)

感謝 凱文

+0

我在進入stackoverflow之前已經做過一些課程研究:)有些人推薦使用ASP.NET MemoryStream,但我找不到真正好的具體例子。你們有什麼感想? – KevinP

+0

我不確定要理解。 你的頁面加載,然後你有(服務器端)你想要導出和發送的數據,不是嗎? –

+0

這是正確的 – KevinP

回答

2

嘗試使用此代碼

 string filename = "Test.xls"; 
     System.IO.StringWriter tw = new System.IO.StringWriter(); 
     System.Web.UI.HtmlTextWriter hw = new System.Web.UI.HtmlTextWriter(tw); 

     //Get the H`enter code here`TML for the control. 
     yourGrid.RenderControl(hw); 
     //Write the HTML back to the browser. 
     Response.ContentType = "application/vnd.ms-excel"; 
     Response.AppendHeader("Content-Disposition", "attachment; filename=" + filename + ""); 

     Response.Write(tw.ToString()); 
+0

謝謝但用戶仍然需要按下「保存」或「查看」文件與這段代碼。 – KevinP

0

首先,你必須將所有數據保存在網格到一個excel文件。以下是如何將數據導出到Excel的示例。

http://zeeshanumardotnet.blogspot.com/2011/06/creating-reports-in-excel-2007-using.html

一旦你導出的數據到Excel文件,然後你可以通過電子郵件,作爲一個附件的所有收件人。有關詳細信息如何發送附件看到此鏈接: -

http://www.codeproject.com/Articles/10828/Sending-Email-with-attachment-in-ASP-NET-using-SMT

因爲你不想讓用戶按任意鍵,所以你可以寫在Page_Load事件既碼。

+0

我不希望用戶按下按鈕的部分是在生成excelfile時提示用戶「保存」文件或「查看」文件。 但是,因爲我不想保存它,也沒有查看它(但)我只需要將它附加到郵件中,然後發送郵件(全部通過aspx!) 在以前的項目中,我已經完成了它們,但是我不能似乎在沒有提示窗口的情況下讓這兩件事情都起作用。 – KevinP

相關問題