• asp.net 把数据导出为excel


    本篇介绍c#中如何使用DataTable导出Excel,至于其他的导出方法,这里不作介绍!

    1.首页从数据库读取数据,得到DataTable:

    DataTable dt = HelperExecuteSql.Query("select ID,name,author,newsContent,inDate from newsInfo").Tables[0];

    2.使用StringWriter类:将信息写入字符串(其命名空间为:System.IO)

    private StringWriter GetStringWriter(DataTable dt)
        {
            StringWriter sw = new StringWriter();
            //读列名,也可以自定义列名(即导出excel的表头)
            //foreach (DataColumn dc in dt.Columns)
            //{ sw.Write(dc.ColumnName + "	");}
    //表头,自定义 sw.Write("序号 "); sw.Write("新闻名 "); sw.Write("作者 "); sw.Write("新闻内容 "); sw.Write("上传时间 ");//读列值,重新的一行 sw.Write(sw.NewLine); if (dt != null) { foreach (DataRow dr in dt.Rows) { for (int i = 0; i < dt.Columns.Count; i++) { sw.Write(dr[i].ToString() + " "); } sw.Write(sw.NewLine); } } sw.Close(); return sw; }

     3. ExcelImport(dt, "新闻列表");

    protected void ExcelImport(DataTable dt, string ExportFileName)
        {
            StringWriter sw = GetStringWriter(dt);
            //当前编码  
            HttpContext.Current.Response.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312");
            //把输出的文件名进行编码  
            string fileName = HttpUtility.UrlEncode(ExportFileName, System.Text.Encoding.UTF8);
            //文件名  
            string str = "attachment;filename=" + fileName + ".xls";
            //把文件头输出,此文件头激活文件下载框  
            HttpContext.Current.Response.AppendHeader("Content-Disposition", str);//http报头文件  
            HttpContext.Current.Response.ContentType = "application/ms-excel";
            this.Page.EnableViewState = false;
            Response.Write(sw);
            Response.End();
        }
    

      

  • 相关阅读:
    BZOJ 3709: [PA2014]Bohater
    BZOJ 3689: 异或之
    BZOJ 4385: [POI2015]Wilcze doły
    2017-2018 ACM-ICPC German Collegiate Programming Contest (GCPC 2017) Solution
    Codeforces Round #522 (Div. 2, based on Technocup 2019 Elimination Round 3) Solution
    BZOJ 4320: ShangHai2006 Homework
    BZOJ 4318: OSU!
    2016-2017 ACM-ICPC CHINA-Final Solution
    BZOJ 5312: 冒险
    Codeforces Round #520 (Div. 2) Solution
  • 原文地址:https://www.cnblogs.com/qk2014/p/3980717.html
Copyright © 2020-2023  润新知