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

  • 相关阅读:
    java练习按要求编写Java程序:
    java基础练习编写2个接口
    java基础练习 给定一个正整数m,统计m的位数,分别打印每一位数字,再按照逆序打印出各位数字。
    java泛型(转)
    Java程序设计上机作业1
    java基础练习继承
    java冒泡排序
    java基础作业
    java 加深了解
    java基本代码的解释
  • 原文地址:https://www.cnblogs.com/liuswi/p/3816676.html
Copyright © 2011-2022 走看看