zoukankan      html  css  js  c++  java
  • DataSet导出到Excel

    privatevoid load() {

            DataSet ds = getDataset();

            string FileName = "excel";

     

            //Web页面定义

            //System.Web.UI.Page mypage=new System.Web.UI.Page();

            HttpResponse resp;

            resp = HttpContext.Current.Response;

            resp.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312");

            resp.AppendHeader("Content-disposition", "attachment;filename=" + FileName + ".xls");

            resp.ContentType = "application/octet-stream";//默认

            //resp.ContentType = "application/x-xls";

     

     

            //变量定义

            string colHeaders = null;

            string Is_item = null;

     

            //显示格式定义////////////////

     

     

            //文件流操作定义

            //  FileStream fs=new FileStream(FileName,FileMode.Create,FileAccess.Write);

            //StreamWriter sw=new StreamWriter(fs,System.Text.Encoding.GetEncoding("GB2312"));

     

            StringWriter sfw = newStringWriter();

            //定义表对象与行对象,同时用DataSet对其值进行初始化

            System.Data.DataTable dt = ds.Tables[0];

            DataRow[] myRow = dt.Select();

            int i = 0;

            int cl = dt.Columns.Count;

     

            //取得数据表各列标题,各标题之间以\t分割,最后一个列标题后加回车符

            for (i = 0; i < cl; i++)

            {

                //if(i==(cl-1))  //最后一列,加\n

                // colHeaders+=dt.Columns[i].Caption.ToString();

                //else

                colHeaders += dt.Columns[i].Caption.ToString() + "\t";

            }

            sfw.WriteLine(colHeaders);

            //sw.WriteLine(colHeaders);

     

            //逐行处理数据

     

     

     

            foreach (DataRow row in myRow)

            {

                //当前数据写入

                for (i = 0; i < cl; i++)

                {

                    //if(i==(cl-1))

                    //   Is_item+=row[i].ToString()+"\n";

                    //else

                    Is_item += row[i].ToString() + "\t";

                }

                sfw.WriteLine(Is_item);

                //sw.WriteLine(Is_item);

                Is_item = null;

            }

            resp.Write(sfw);

            //resp.Clear();

            resp.End();

        }

     

        privateDataSet getDataset() {

            string sql = "SELECT * FROM 成绩表";

     

            SqlConnection conn = newSqlConnection("server=.;database=DB;uid=sa;password=123;");

            conn.Open();

     

            SqlCommand cmd = newSqlCommand(sql, conn);

     

            DataSet ds = newDataSet();

     

            SqlDataAdapter ad = newSqlDataAdapter();

            ad.SelectCommand = cmd;

            ad.Fill(ds, "成绩表");

            return ds;

        }

     

    }

  • 相关阅读:
    学习笔记10-用户和组
    学习笔记9-环境变量
    学习笔记8-检测磁盘空间
    学习笔记7-监测程序
    学习笔记6-权限管理
    【数学】矩阵的逆
    【数学】矩阵
    【数学】Polya定理
    【图论】必经点和必经边
    【图论】点双连通分量
  • 原文地址:https://www.cnblogs.com/xiexingen/p/2850169.html
Copyright © 2011-2022 走看看