博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
DataSet导出到Excel
阅读量:5916 次
发布时间:2019-06-19

本文共 1802 字,大约阅读时间需要 6 分钟。

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;

    }

 

}

转载于:https://www.cnblogs.com/xiexingen/archive/2013/01/07/2850169.html

你可能感兴趣的文章
SCOM2012部署系列之七:推送Windows监控代理
查看>>
MariaDB Spider:实现MySQL横纵向扩展的小能手
查看>>
虚拟化系列-VMware vSphere 5.1 高可用性
查看>>
LNMP环境搭建
查看>>
Twisted入门教程(6)
查看>>
我的家庭私有云计划-4
查看>>
cocos2d-x 3.0事件机制及用户输入
查看>>
家里买了XBOX 360 Kinect
查看>>
getElementsByTagName
查看>>
HOWTO:如何在代码中获取安装包目标机上的Windows Installer(MSI)版本
查看>>
android的互联网开发
查看>>
FMS3.5的安装使用
查看>>
silverlight元素FrameworkElement.LayoutUpdated布局变化事件
查看>>
poj2762
查看>>
Assert理解(51cto)
查看>>
关于Repository模式
查看>>
poj1850
查看>>
MongoDB数据库简介及安装
查看>>
第二天 一列布局
查看>>
.NET 开发: 确定计算机上已安装的 .NET Framework 版本
查看>>