zoukankan      html  css  js  c++  java
  • C#将DataTable导出Execl、Word、Xml

        /// <summary>
        /// 将DT转换为Execl的方法
        /// </summary>
        /// <param name="dt">需要导出的DT
        /// <param name="page">页面
        /// <param name="fileName">文件名
        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 + "	");
            }
            sB.Append("
    ");
            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() + ""	"); //解决导出的单元格以科学计数法显示的问题
                }
                sB.Append("
    ");
            }
            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()+"
    ");  
           }  
           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();  
    }  


    来源:http://blog.csdn.net/smartsmile2012/article/details/8182862

  • 相关阅读:
    忘记 mysql 数据库连接密码(解决方案)
    CVE-2020-14882&CVE-2020-14883 Weblogic未授权远程命令执行漏洞
    社会工程学之信息收集之信息收集
    8种src常用越权测试小技巧
    《数据中台-让数据用起来》思维导图(更新中)
    idea使用zsh代替系统的terminal
    mac安装oh my zsh
    mac安装homebrew
    navicat破解(亲测可用)
    docker搭建typecho博客系统,并启用https
  • 原文地址:https://www.cnblogs.com/liuswi/p/3816676.html
Copyright © 2011-2022 走看看