台灣最具影響力的-資訊專家社群 - 讓您成為最有價值的IT專業人才
線上人數
2030
 
會員總數:197934
接案會員:6196
文章總數:2320
討論主題:151331
歡迎您免費加入會員
討論區列表 >> ASP.NET >> 懇請賜教Gridview匯出Excel 一些問題(已爬過文,但仍有些問題)

[變換順序]
[我要回覆]
1


回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
懇請賜教Gridview匯出Excel 一些問題(已爬過文,但仍有些問題)
價值 : 70 QP  點閱數:2864 回應數:5

點圖分享到Plurk吧!
樓主

艾力克
門外漢
0 36
540 36
懇請賜教各位大大:

我公司作業系統環境是在Win2000 Server, IIS 5, Asp Net 2.0 ,使用 Visual Studio 2005 , SQL Server 2000

最近我在用 Gridview 匯出Excel 時,碰到一些問題,已經爬過文了,但似乎沒有我碰到的情況

(1)我的 Gridview1其中一欄是itemtemplate,裡面放了個 Hyperlink超連接,而它的Text是數值,
當我想把Gridview1匯出Excel時,它功能實在是太強大了,連匯出Excel時,那個數字也有超連結,我只想要數字就好
懇請各位大大,有什麼方法可以避免這種事發生呢

(2) 我的Gridview1風格是"專業",網頁看起來很漂亮,但匯出Excel時,整個風格也一起匯出來,
請問有什麼方法可以匯出時純文字就好了呢? 可以保留Gridview1的風格,匯出時又是純文字呢

(3)不好意思,再請教一下,我在一個 Button1裡同時要把 Gridview1,Gridview2,Gridview3分別匯到三個不同的Sheet,請問這可以做得到嗎

(4) 再請教一下,匯出的Excel 原本檔名叫 Report.xls,我希望前面能加上今天的日期,例如:20071218_Report.xls

所以這一段我應該寫成這樣嗎:
Response.AddHeader("content-disposition", "attachment;filename="today.tostring & "_" & "Report.xls");
這樣好像不行,請賜教這該怎麼改呢,謝謝各位大大

我只會寫VB,我匯出Excel 的語法如下:


Response.ClearHeaders();
Response.Clear();
Response.AddHeader("content-disposition", "attachment;filename=Report.xls");
Response.Charset = "UTF-8";
Response.ContentType = "application/vnd.ms-excel";
System.IO.StringWriter stringWrite = new System.IO.StringWriter();
System.Web.UI.HtmlTextWriter htmlWrite = new HtmlTextWriter(stringWrite);
string ExcelHeader = "<html><head><meta http-equiv=Content-Type content='text/html;charset=utf-8'></head><body>";
string ExcelFooter = "</body></html>";
GridView1.RenderControl(htmlWrite);
Response.Write(ExcelHeader + stringWrite.ToString() + ExcelFooter);
Response.End();



本篇文章發表於2007-12-18 00:13
VP、EP、QP、HP該如何使用? 2009年藍色小舖認證專家卡得主名單
1樓
最有價值解答

木子
初學者
913 126
2146 535
檢舉此回應


至於第3個要匯到別的sheet 我覺得利用這方法應該是不行
可能要用Excel.Application吧

如有錯誤,請大家指教


本篇文章回覆於2007-12-18 11:22
2樓
回應


初學者
10 0
20 8
檢舉此回應
把他當程式資料庫匯資料進去就沒有這些問題了吧


本篇文章回覆於2007-12-18 18:14
3樓
回應

神來之筆
高級專家
10474 17
4465 1368

捐贈 VP 給 神來之筆 檢舉此回應
你不要用預設的樣式
自己幫gridview設計"顯示"和"列印"的CSS

如何將列印用的樣式套用至網頁的文件中
基本上在 HTML 文件的 head 元素中加入以下這一行就好了
。<link rel="stylesheet" type="text/css" href="你的列印用 CSS 檔案的位置" media="print" />

ref:
http://www.andcycle.idv.tw/mediawiki/index.php/CSS:print



本篇文章回覆於2007-12-18 18:41
4樓
回應

彥彬
初級專家
1342 89
1406 338
檢舉此回應
如果可以,就在頁面上再放一個隱藏的grid.專門做導出.
而且不啟用排序和分頁.

樣式就可以隨便設置了...


本篇文章回覆於2007-12-24 15:22
5樓
不錯的參考

longer
高級專家
8097 23
5122 1943
捐贈 VP 給 longer 檢舉此回應
其實網頁與匯出有時還是分開得好,光要解決這些問題所費的時間,可能也綁好新的GridView了,





本篇文章回覆於2007-12-24 18:01
[變換順序]
1
 

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