数据导出

// 导出数据到Excel
        /// <param name="dataList"></param>
        /// <param name="fields"></param>
        /// <param name="headTexts"></param>
        /// <param name="title"></param>
        public static void ExportToExcel(System.Data.DataTable dataList, string[] fields, string[] headTexts, string title)
        {
            System.Web.UI.WebControls.GridView gvw = new System.Web.UI.WebControls.GridView();
            int ColCount, i;

//如果筛选的字段和对应的列头名称个数相对的情况下只导出指定的字段
            if (fields.Length != 0 && fields.Length == headTexts.Length)
            {
                ColCount = fields.Length;
                gvw.AutoGenerateColumns = false;

for (i = 0; i < ColCount; i++)
                {
                    System.Web.UI.WebControls.BoundField bf = new System.Web.UI.WebControls.BoundField();
                    bf.DataField = fields[i];
                    bf.HeaderText = headTexts[i];
                    gvw.Columns.Add(bf);
                }
            }
            else
            {
                gvw.AutoGenerateColumns = true;
            }

//SetStype(gvw);
            gvw.DataSource = dataList;
            gvw.DataBind();

ExportToExcel(gvw, title);
        }

// 导出GridView中的数据到Excel
        /// <param name="gvw"></param>
        /// <param name="DataList"></param>
        private static void ExportToExcel(System.Web.UI.WebControls.GridView gvw, string title)
        {
            string fileName;
            HttpContext.Current.Response.Buffer = true;
            HttpContext.Current.Response.ClearContent();
            HttpContext.Current.Response.ClearHeaders();
            fileName = string.Format("{0:yyyy-MM-dd_HH_mm}.xls", DateTime.Now);
            HttpContext.Current.Response.AppendHeader("Content-Disposition", "attachment;filename=" + fileName);
            HttpContext.Current.Response.ContentType = "application/vnd.ms-excel";
            HttpContext.Current.Response.ContentEncoding = Encoding.UTF8;
            HttpContext.Current.Response.Charset = "utf-8";
            HttpContext.Current.Response.Write("<meta http-equiv=Content-Type content=\"text/html; charset=utf-8\">");
            StringWriter tw = new System.IO.StringWriter();
            HtmlTextWriter hw = new System.Web.UI.HtmlTextWriter(tw);
            gvw.RenderControl(hw);
            if (!string.IsNullOrEmpty(title))
            {
                HttpContext.Current.Response.Write("<b><center><font size=3 face=Verdana color=#0000FF>" + title + "</font></center></b>");
            }
            HttpContext.Current.Response.Write(tw.ToString());
            HttpContext.Current.Response.Flush();
            HttpContext.Current.Response.Close();
            //HttpContext.Current.Response.End();

gvw.Dispose();
            tw.Dispose();
            hw.Dispose();

gvw = null;
            tw = null;
            hw = null;

}

时间: 2024-10-03 21:41:17

数据导出的相关文章

发送邮件以及数据导出

1.发送邮件 首先引用using System.Net;和using System.Net.Mail;两个命名空间 1 void Button1_Click(object sender, EventArgs e) 2 { 3 //1.创建发送邮件的客户端对象 4 SmtpClient smtp = new SmtpClient("smtp.sina.cn");//smtp.sina.cn为新浪的SMTP 5 6 //4.创建MailAddress对象,分别构建成发送者和接收者 7 Ma

C#将dataGridView中显示的数据导出到Excel(超实用版)

using System; using System.Collections.Generic; using System.Linq; using System.Text; using Microsoft.Office.Interop; using Microsoft.Office.Interop.Excel; using System.Windows.Forms; using Excel = Microsoft.Office.Interop.Excel; public class ExprotT

Spire.Office for .NET 提供制图,制表,电子邮件,条形码以及数据导出的功能

Spire.Office for .NET是e-iceblue公司推出的一款.NET控件包.它包含所有该公司发布的.NET的控件.通过Spire.Office for .NET,开发人员可以轻松的操作商业中最流行格式的文件,主要包括Word, Excel, PDF,XML和HTML.除了强大的文件操作组件,Spire.Office for .NET 还提供制图,制表,电子邮件,条形码以及数据导出的功能. Spire.Office for .NET 包含以下产品: Spire.Doc for .N

支持将数据导出到Excel文档的时候设置单元格格式的.NET控件Spire.DataExport

Spire.DataExport for .NET是e-iceblue公司推出的一款数据导出类.NET控件.作为一款专业的数据导出控件,Spire.DataExport for .NET可以帮助开发人员轻松快速的从各种主流数据库中导出数据并存储于各种文件格式中.他支持从SQL Command, DataTable,ListView中导出数据并存储于MS Excel,MS Word, HTML, XML, PDF, MS Access, DBF, SQL Script, SYLK, DIF, CS

数据导出至Excel文件--好库编程网http://code1.okbase.net/codefile/SerializeHelper.cs_2012122018724_118.htm

using System; using System.IO; using System.Data; using System.Collections; using System.Data.OleDb; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; /// <summary> /// Excel操作类 /// </summary> /// Microsoft Excel 11.0 Obj

Java通过POI技术操作Excel(3)----数据导出

在之前的博客中,总结了Excel模板生成和Excel数据录入,然后剩最后一个模块,数据库中数据读取,在之前的基础上我们来看这一模块,应该已经非常容易了,接下来简单的介绍一下: 这里我们仍然以jsp+servlet为例,对SqlServer2005数据库进行操作,如下都是基本步骤: 1.连接数据库:2.根据sql语句获取数据库中值:3.将值进行导出操作: 首先,我们来记性数据库的连接,这个相信接触过java的人都不会陌生,我就不赘述了 1 public class DataBase { 2 pri

yii2 数据导出 excel导出以及导出数据时列超过26列时解决办法

作者:白狼 出处:http://www.manks.top/article/yii2_excel_extension? 本文版权归作者,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利. 先概括下我们接下来要说的大致内容: 数据列表页面导出excel数据, 1.可以根据GridView的filter进行搜索数据并导出 2.可以自行扩展数据导出的时间直接导出数据 //先来看controller层,接收GridView参数并做拼接处理 php c

mysql数据导出权限问题

mysql数据导出的方法有非常多,比如mysqldump, mysql -e 'sql' > file, 这些都能够非常方便的导出数据,但是在使用普通用户导出数据的时候,出现了问题. 1 select * into outfile "file_path" from my_table 上面的语句也是mysql导出数据的一种方式,在使用普通用户运行语句时.出现了一下错误: 1 ERROR 1045 (28000): Access denied for user 'my_user'@'

Hive三种不同的数据导出的方式

转自:http://blog.chinaunix.net/uid-27177626-id-4653808.html Hive三种不同的数据导出的方式,根据导出的地方不一样,将这些方法分为三类:(1)导出到本地文件系统 (2)导出到HDFS (3)导出到hive的另一个表中 导出到本地文件系统 执行: hive> insert overwrite local directory '/root/student' > select * from student; 通过insert overwrite

Oracle如何实现创建数据库、备份数据库及数据导出导入的一条龙操作

Oracle如何实现创建数据库.备份数据库及数据导出导入的一条龙操作 Oracle中对数据对象和数据的管理,无疑都是使用PL/SQL Developer来进行管理,该工具也提供给我们很多方便.快捷的操作,使得我们不再为Oracle本身丑陋.难用的UI而抱怨.由于我们一般都是建建表.查查数据的操作居多,较少会考虑系统的整个Oracle的完整备份操作.但是在我们一些发布操作中,我们必须考虑如何把Oracle的对象.表数据导出到Sql脚本中,并且把创建Oracle表空间.创建Oracle数据库的操作也