数据库导出简单Excel文件源代码

作者在 2013-10-18 09:12:42 发布以下内容

有时需要将DataTable中的数据直接、简单地导出到Excel文件,下边的方法大家可以使用。

protected void btnOutput_Click(object sender, EventArgs e)
//这是页面上的导出按钮单击入口。
    {
  string strFileName = HttpContext.Current.Server.MapPath("../Excels/") + "ExcelOutput";
  //本行指定一个服务器上的绝对路径和文件名;

        StringWriter sfw = new StringWriter();
  try
      {
          HttpResponse resp;
          resp = HttpContext.Current.Response;
          resp.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312");
          resp.AppendHeader("Content-disposition", "attachment;filename=" + strFileName + ".xls");
          resp.ContentType = "application/ms-excel";
            //变量定义
            string colHeaders = null;
            //取得数据表各列标题,各标题之间以\t分割,插入后成为标题行。

           colHeaders = "用户账户" + "\t" + "姓名" + "\t" + "Email" ;
            sfw.WriteLine(colHeaders);
            //逐行处理数据
            ENTUserAccountEOList eNTUserAccountEOList = new ENTUserAccountEOList();
            //这是一个类似于Data Table行集合的对象集合。
            eNTUserAccountEOList.Load();
            //我的行集合要加载对象集合,你的数据表应该有若干行数据。
            foreach (ENTUserAccountEO eNTUserAccountEO in eNTUserAccountEOList)
            //我遍历的是我的对象集合,你遍历的应该数据表的行集合。
            {
                sfw.WriteLine(eNTUserAccountEO.UserWebName + "\t" + eNTUserAccountEO.UserChineseName + "\t" + eNTUserAccountEO.Email + "\t");
            //我用硬代码把集合内各分量连成一个串,你的化码可以要用循环代码遍历数据表//的每个行

           //(类似于下边的循环模型)。
            }
            //foreach (DataRow row in myRow)
            //{
            //}
            resp.Write(sfw);
            //resp.Clear();
            resp.End();
        }
        catch (Exception exception_Output)
        {
           //捕捉可能的读写错误,使代码更健壮。
            throw exception_Output;
        }
}
//完了,就么一点儿,有困难的朋友可以与我联系,能帮尽量帮你。

默认分类 | 阅读 1094 次
文章评论,共0条
游客请输入验证码
浏览1094次
文章分类
文章归档
最新评论