.NET 导出Execl.Word.Xml

时间:2010-8-30  |   0  |  标签:, , , ,
    /// 
    /// 将DT转换为Execl的方法
    /// 
    /// 需要导出的DT
    /// 页面
    /// 文件名
   public void ToExecl(DataTable dt, Page page, string fileName)
    {
        HttpResponse response = page.Response;
        response.Clear();
        response.ContentType = "application/x-excel";
        response.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312");
        response.AddHeader("Content-Disposition", "attachment; filename=" + HttpUtility.UrlEncode(fileName, System.Text.Encoding.UTF8) + ".xls");
        StringBuilder sB = new StringBuilder();
        for (int j = 0; j < dt.Columns.Count; j++)
        {
            sB.Append(dt.Columns[j].Caption + "\t");
        }
        sB.Append("\n");
        for (int i = 0; i < dt.Rows.Count; i++)
        {
            for (int k = 0; k < dt.Columns.Count; k++)
            {
                sB.Append(dt.Rows[i][k].ToString() + "\t");
            }
            sB.Append("\n");
        }
        response.Write(sB.ToString());
        response.End();
    }
 public void ToWord(DataTable dt, Page page, string filName)
    {
        HttpResponse response = page.Response;
        response.Clear();
        response.ContentType = "application/msword";
        response.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312");
        response.AddHeader("Content-Disposition","attachment:filename="+System.Web.HttpUtility.UrlEncode(filName,System.Text.Encoding.UTF8)+".doc");
        StringBuilder sBuilder = new StringBuilder();
        for (int i = 0; i < dt.Rows.Count; i++)
        {
            sBuilder.Append(dt.Rows[i][1].ToString()+"\n");
        }
        response.Write(sBuilder.ToString());
        response.End();
    }
    public void ToXML(DataTable dt, Page page, string filename)
    {
        HttpResponse response = page.Response;
        //DataSet ds = new DataSet();
        response.Clear();
        response.ContentType = "application/x-excel";
        response.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312");
        response.AddHeader("Content-Disposition", "attachment; filename=" + HttpUtility.UrlEncode(filename,System.Text.Encoding.UTF8) + ".xls");
        System.Text.UTF8Encoding utf8 = new System.Text.UTF8Encoding();
        System.Xml.XmlTextWriter xw = new XmlTextWriter(response.OutputStream, utf8);
        xw.Formatting = Formatting.Indented;
        xw.Indentation = 4;
        xw.IndentChar = ' ';
        dt.TableName = "dd";
        dt.WriteXml(xw);
        dt = null;
        GC.Collect();
        xw.Flush();
        xw.Close();
        response.End();
    }




无觅相关文章插件,快速提升流量