问题:从GridView中导出Excel表并设置表头,但是当导出的时候如何设置保存路径以及Excel的表头格式,以及杀死Excel进程
请各位高手赐教 了,最好有代码分析。

解决方案 »

  1.   

    protected void Btn_ExportClick(object sender, EventArgs e) 

    string style = @" <style> .text { mso-number-format:\@; } </script> "; 
    Response.ClearContent(); 
    Response.AddHeader("content-disposition", "attachment; filename=ExcelFile.xls"); 
    Response.ContentType = "application/excel"; 
    StringWriter sw = new StringWriter(); 
    HtmlTextWriter htw = new HtmlTextWriter(sw); 
    gv.RenderControl(htw); 
    Response.Write(style); 
    Response.Write(sw.ToString()); 
    Response.End(); 

    public override void VerifyRenderingInServerForm(Control control) 
    { } 
    或打开excel模板,通过二维数组赋值给EXCELSystem.Runtime.InteropServices.Marshal.ReleaseComObject(app); 
    System.Runtime.InteropServices.Marshal.ReleaseComObject(Doc); 
    app=null; 
    Doc=null; 
    GC.Collect(); 
    GC.Collect(); 
      

  2.   

    这样不行啊,这样的话是可以原样导出GridView的样式以及数据可是我的表头是要从新设置的,而且没有kill掉Excel的进程。。可是假如创建一个Excel对象用FOR语句赋值的话有太慢,有没有什么别的办法。