2011-03-29 97 views
1

我必须检索数据表格数据库到word文档和excel工作表,但我可以做excel表&不适用于ms word或pdf。任何人都可以告诉我该怎么做? 这里是我在.net中的代码:如何从数据库检索数据到word文档。净

protected void btnExportToExcel_Click(object sender, EventArgs e) 
    { 
     Response.Clear(); 
     Response.AddHeader("content-disposition", "attachment;filename=DocumentReport.xls"); 
     Response.Charset = ""; 
     Response.Cache.SetCacheability(HttpCacheability.NoCache); 
     Response.ContentType = "application/vnd.ms-excel"; 
     System.IO.StringWriter stringWrite = new System.IO.StringWriter(); 
     System.Web.UI.HtmlTextWriter htmlWrite = new HtmlTextWriter(stringWrite); 
     GridView1.RenderControl(htmlWrite); 
     Response.Write(stringWrite.ToString()); 
     Response.End(); 
    } 
    protected void btnExportToWord_Click(object sender, EventArgs e) 
    { 
     Response.Clear(); 
     Response.AddHeader("content-disposition", "attachment;filename=DocumentReport.docx"); 
     Response.Charset = ""; 
     Response.Cache.SetCacheability(HttpCacheability.NoCache); 
     Response.ContentType = "application/vnd.ms-word"; 
     System.IO.StringWriter stringWrite = new System.IO.StringWriter(); 
     System.Web.UI.HtmlTextWriter htmlWrite = new HtmlTextWriter(stringWrite); 
     GridView1.RenderControl(htmlWrite); 
     Response.Write(stringWrite.ToString()); 
     Response.End(); 
    } 

回答

0

好吧。你的代码似乎在我的最后工作。您在出口时是否收到任何异常情况?我前一段时间也收到了同样的东西。

我刚刚在aspx页面的Page指令中创建了EnableEventValidation =“false”,它工作正常。你可以尝试一样的。 它应该工作。

0

尝试将内容类型更改为 Response.AppendHeader(“Content-Type”,“application/msword”); 还确保您是否使用“css”样式将样式包含在要呈现的字符串中。