今天我遇到一個問題,就是怎樣值都跑不出來,明明確認dt裡面有資料的啊!
Response.Clear();
Response.Buffer = true;
Response.AddHeader("content-disposition", "attachment;filename=RetroCloud" +
DateTime.Now.Ticks + ".xls");
Response.Charset = "";
Response.ContentType = "application/vnd.ms-excel";
StringWriter sw = new StringWriter();
HtmlTextWriter hw = new HtmlTextWriter(sw);
for (int i = 0; i < gvExcel.Rows.Count; i++)
{
gvExcel.Rows[i].Attributes.Add("class", "textmode");
}
gvExcel.RenderControl(hw);
string style = @"<style> .textmode { mso-number-format:\@; } </style>";
Response.Write(style);
Response.Output.Write(sw.ToString());
Response.Flush();
Response.End();
可是到黃色那一行就一直顯示「運算式已經評估,沒有值」
好揪心...
很認真的查了MSDN,他說
如果伺服器控制項的 Visible 屬性是設定為 true,這個方法會判斷是否對該網頁啟用了追蹤。如果是,它便會儲存控制項相關的追蹤資訊,並且在網頁上呈現伺服器控制項內容。
.....所以請記得檢查前台Gridview有沒有設定Visibile=false......
一旦False就不會印到Excel裡面了喔!!
沒有留言:
張貼留言