zoukankan      html  css  js  c++  java
  • DataSet导出到Excel,满意版

    代码是网上搜来的,不太满意,稍做了修改。改了之后,效果还算满意。
            public void CreateExcel(DataSet ds,string FileName) 
            { 
                HttpResponse resp; 
                resp 
    = Page.Response;
                resp.ContentType 
    = "application/vnd.ms-excel";
                resp.ContentEncoding 
    = System.Text.Encoding.GetEncoding("UTF-8"); 
                resp.AppendHeader(
    "Content-Disposition""attachment;filename=" + FileName+".xls"); 
                
    string colHeaders= "<style>td{white-space:nowrap;}</style><table><tr>", ls_item=""
                
    int i=0

                
    //定义表对象与行对像,同时用DataSet对其值进行初始化 
                DataTable dt=ds.Tables[0]; 
                DataRow[] myRow
    =dt.Select(""); 
                
                
    //取得数据表各列标题,各标题之间以\t分割,最后一个列标题后加回车符 
                for (i = 0; i < dt.Columns.Count; i++)
                {
                    colHeaders 
    += "<td>"+dt.Columns[i].Caption.ToString() + "</td>";
                }
                colHeaders 
    +="</tr>"
                
    //向HTTP输出流中写入取得的数据信息 
                resp.Write(colHeaders); 
                
    //逐行处理数据 
                foreach(DataRow row in myRow) 
                {
                    ls_item 
    += "<tr>";
                    
    //在当前行中,逐列获得数据,数据之间以\t分割,结束时加回车符\n 
                    for (i = 0; i < dt.Columns.Count; i++)
                    {
                        ls_item 
    += "<td>"+row[i].ToString() + "</td>";
                    }
                    ls_item 
    += "</tr>"
                    
    //当前行数据写入HTTP输出流,并且置空ls_item以便下行数据 
                    resp.Write(ls_item); 
                    ls_item
    =""
                }
                resp.Write(
    "</table>"); 
                            
                
    //写缓冲区中的数据到HTTP头文件中 
                resp.End(); 
            }        

    每条数据在Excel中都显示为一行,效果图如下:
    效果图
  • 相关阅读:
    3.8 java基础总结①多线程
    RPM Database 实战详解
    关于CentOS7.2 控制面板不显示输入法,或者无法调出输入的问题。(已解决)
    mysqldump
    一些有意思的Linux命令
    和docket的第一次亲密接触
    centos7根分区扩容(亲测有效)
    相识mongodb
    开机自动获取spark用户名和服务器
    Puppet日常总结
  • 原文地址:https://www.cnblogs.com/wuliang/p/945943.html
Copyright © 2011-2022 走看看