我有一個要導出到Excel的GridView。當我使用我在網上找到的示例代碼時,它會將內容導出到Excel中,但出於某種原因,它還會清除所導出表格外的所有網格線。導出GridView到Excel而不會丟失Excel中的網格線
對於普通的excel用戶來說,這很容易解決,但我需要這個解決方案爲每個人工作。
那麼有沒有辦法將GridView中的數據導出到Excel工作簿中,使其看起來像只是輸入到Excel中?我已經粘貼了我在下面使用的代碼,假設一個名爲toPrint的GridView存在並且具有準確的數據。
Response.Clear();
Response.AddHeader("content-disposition", "attachment; filename=" + name + "_Registration_Forms.xls");
Response.Charset = "";
Response.ContentType = "application/vnd.ms-excel";
Page.EnableViewState = false;
System.IO.StringWriter stringWrite = new System.IO.StringWriter();
System.Web.UI.HtmlTextWriter htmlWrite = new HtmlTextWriter(stringWrite);
toPrint.RenderControl(htmlWrite);
Response.Write(stringWrite.ToString());
Response.End();
編輯:找到一個部分解決方案。如果我以逗號分隔的列表形式導出並將標題設置爲CSV文件,則它會正常打開,並顯示所有網格線(即使是導出數據以外的網格線)。當然,唯一的問題是,在導出它們之前,必須從我的值中去掉每個逗號和換行符。
上述方法輸出一個Excel中進行 '出色' 來解析和顯示在幾乎精確複製一個HTML格式化的表格。我不確定是否有解決方案,但如果格式不重要,CSV輸出可能是一個不錯的選擇。 – 2010-03-04 01:19:55
給那些可能感興趣的人,o.k.w的評論是我去的方式。這並不完美,因爲現在我不得不從我輸出的內容中去掉逗號,但最終用戶更喜歡這種方法。 – 2010-04-27 14:10:41
您可以嘗試使用製表符而不是逗號來分隔值 – mslliviu 2012-01-22 08:46:42