• dataset 导出 Excel


        protected void DtToExcel(DataSet ds, string tableName, bool containColumName,string fileName)   
        {
            if (ds == null || (!ds.Tables.Contains(tableName) && ds.Tables.Count < int.Parse(tableName)))
            {
                return ;
            }
            DataTable tb = !ds.Tables.Contains(tableName) ? ds.Tables[int.Parse(tableName)] : ds.Tables[tableName];

            StringBuilder strb = new StringBuilder();   
            strb.Append(" <html xmlns:o=\"urn:schemas-microsoft-com:office:office\"");   
            strb.Append("xmlns:x=\"urn:schemas-microsoft-com:office:excel\"");   
            strb.Append("xmlns=\"http://www.w3.org/TR/REC-html40/"");   
            strb.Append(" <head> <meta http-equiv='Content-Type' content='text/html; charset=gb2312'>");   
            strb.Append(" <style>");   
            strb.Append(".xl26");   
            strb.Append(" {mso-style-parent:style0;");   
            strb.Append(" font-family:\"宋体\", serif;");   
            strb.Append(" mso-font-charset:0;");   
            strb.Append(" mso-number-format:\"@\";}");   
            strb.Append(" </style>");   
            strb.Append(" <xml>");   
            strb.Append(" <x:ExcelWorkbook>");   
            strb.Append("  <x:ExcelWorksheets>");   
            strb.Append("  <x:ExcelWorksheet>");   
            strb.Append("    <x:Name>Sheet1 </x:Name>");  
            strb.Append("    <x:WorksheetOptions>");   
            strb.Append("    <x:DefaultRowHeight>285 </x:DefaultRowHeight>");   
            strb.Append("    <x:Selected/>");   
            strb.Append("    <x:Panes>");   
            strb.Append("      <x:Pane>");   
            strb.Append("      <x:Number>3 </x:Number>");   
            strb.Append("      <x:ActiveCol>1 </x:ActiveCol>");   
            strb.Append("      </x:Pane>");   
            strb.Append("    </x:Panes>");   
            strb.Append("    <x:ProtectContents>False </x:ProtectContents>");   
            strb.Append("    <x:ProtectObjects>False </x:ProtectObjects>");   
            strb.Append("    <x:ProtectScenarios>False </x:ProtectScenarios>");   
            strb.Append("    </x:WorksheetOptions>");   
            strb.Append("  </x:ExcelWorksheet>");   
            strb.Append("  <x:WindowHeight>6750 </x:WindowHeight>");   
            strb.Append("  <x:WindowWidth>10620 </x:WindowWidth>");   
            strb.Append("  <x:WindowTopX>480 </x:WindowTopX>");   
            strb.Append("  <x:WindowTopY>75 </x:WindowTopY>");   
            strb.Append("  <x:ProtectStructure>False </x:ProtectStructure>");   
            strb.Append("  <x:ProtectWindows>False </x:ProtectWindows>");   
            strb.Append(" </x:ExcelWorkbook>");   
            strb.Append(" </xml>");   
            strb.Append("");   
            strb.Append(" </head> <body> <table align=\"center\" style='border-collapse:collapse;table-layout:fixed'>");
            if (containColumName)
            {
                strb.Append("<tr>");
                //写列标题   
                int columncount = tb.Columns.Count;
                for (int columi = 0; columi < columncount; columi++)
                {
                    strb.Append(" <td> <b>" + tb.Columns[columi] + " </b> </td>");
                }

                strb.Append(" </tr>");   
            }
            //写数据   
            for (int i = 0; i < tb.Rows.Count; i++)   
            {   
                strb.Append(" <tr>");  
                for (int j = 0; j < tb.Columns.Count; j++)   
                {   
                    strb.Append(" <td class='xl26'>" + tb.Rows[i][j].ToString() + " </td>");   
                }   
                strb.Append(" </tr>");   
            }      
            strb.Append(" </body> </html>");   
            Response.Clear();   
            Response.Buffer = true;   
            Response.Charset = "GB2312";
            Response.AppendHeader("Content-Disposition", "attachment;filename=" + Server.UrlEncode(fileName));   
            Response.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312");//设置输出流为简体中文   
            Response.ContentType = "application/ms-excel";//设置输出文件类型为excel文件。   
            this.EnableViewState = false;   
            Response.Write(strb);   
            Response.End();   
        }


    =============

     调用     DataSet ds = new DataSet();
               DataTable dt = new DataTable();
                DataColumn dc;
                DataRow dr;

                //---------------------添加字段----------------

                //建立字段1
                dc = new DataColumn();
                dc.DataType = System.Type.GetType("System.Int32");
                dc.ColumnName = "id";
                dc.AutoIncrement = true;//标识
                dc.AutoIncrementSeed = 1;//标识种子
                dc.AutoIncrementStep = 1;//标识递增量
                dt.Columns.Add(dc);
                //建立字段2
                dc = new DataColumn();
                dc.DataType = System.Type.GetType("System.String");
                dc.ColumnName = "sitename";
                dc.AllowDBNull = true;
                dt.Columns.Add(dc);
                //建立字段3
                dc = new DataColumn();
                dc.DataType = System.Type.GetType("System.String");
                dc.ColumnName = "url";
                dc.AllowDBNull = true;
                dt.Columns.Add(dc);
                //设置主键
                DataColumn[] newdc = new DataColumn[1];//可设置多个字段为主键
                newdc[0] = dt.Columns["id"];
                dt.PrimaryKey = newdc;

                //---------------------添加记录----------------

                //记录1
                dr = dt.NewRow();
                dr["sitename"] = "尚网";
                dr["url"] = "http://www.jjshang.com/";
                dt.Rows.Add(dr);
                //记录2
                dr = dt.NewRow();
                dr["sitename"] = "木子屋";
                dr["url"] = "http://www.mzwu.com/";
                dt.Rows.Add(dr);
                //记录3
                dr = dt.NewRow();
                dr["sitename"] = "网易";
                dr["url"] = "http://www.126.com/";
                dt.Rows.Add(dr);
                ds.Tables.Add(dt);
                ds.Tables[0].TableName = "HomePage";
                DtToExcel(ds,"HomePage",true, "好好学习.xls");

  • 相关阅读:
    Android 内存溢出解决方案(OOM) 整理总结
    mysql数据库基本操作
    java基础集合框架——List、Set、Map概述(java集合一)
    Android基础常用日期操作工具类
    Android 中的adapter和作用以及常见的adapter
    Android中的SimpleAdapter
    android中selector使用
    Android 中消息处理机制-Looper、Handler、Thread(一)
    Android 中消息处理机制-Looper、Handler、Thread (二)
    android中MessageQueue , Message , Looper , Handler(三)
  • 原文地址:https://www.cnblogs.com/xianzuoqiaoqi/p/1576256.html
Copyright © 2020-2023  润新知