APP下载

将GridView中的数据导出到Excel的方法探究

2016-02-22吴金秀

西部皮革 2016年16期
关键词:黄冈数据表数据源

吴金秀

(黄冈职业技术学院,湖北 黄冈 438000)



将GridView中的数据导出到Excel的方法探究

吴金秀

(黄冈职业技术学院,湖北 黄冈 438000)

Asp.net技术中有一组数据绑定控件,每个控件都有独自显示的数据的特点。其中GridView控件的功能很丰富,不仅能以二维的表格显示数据库的数据,还提供了对数据的排序、分页、选择、编辑和删除等功能。在实际中将GridView中的数据导出到Excel表格的应用也很多,本文本主要介绍了用代码的方式给GridView绑定数据以及将数据导出到Excel表格中的过程与方法。

数据库;GridView;导出

1 GridView简介

GridView控件以表格的形式显示数据,并能对数据的排序、分页、选择、编辑和删除等功能。如果用SqlDataSource作用数据源控件,几乎不用写任何代码就可以完成这些功能。也可以用代码提供数据源。

将GridView控件的列转换成模板,完成用户自定义数据的显示,结合事件模型,可以完成用户自定义的复杂的事件。同时系统还提供了数据显示的“自动套用格式”,系统内置了十几种内部格式,当然用户也可以自定义格式。

2 GridView控件绑定数据

GridView控件可以显示数据源中的数据。通过SqlDataSourcer控件提供数据源或者用代码的方式获取数据源,GridView控件可以自动的显示数据源中数据,也可以按用户指定的方式或格式显示数据。

利用SQL Server 2005数据库管理系统完成数据库的新建和数据的录入,用GridView控件进行显示数据,最后将GridView控件中的数据导出到Excel。

2.1新建数据库

新建student数据库,在student数据库中新建stuExam数据表,stuExam数据表包括学生的学号、班级、姓名、语文、数学、英语成绩,并录入几条记录。)

2.2设计页面

在页上添加一个GridView控件和一个Button控件。设置GridView控件的ID为grvStu。设置Button控件Text=“导出到Excel”,ID为btnToExcel。

2.3在web.config配置文件中配置连接字符串

页面要访问数据库,先在web.config配置文件节点中

配置连接字符串。

2.4编写代码

在页面的后台cs文件中编写代码,获取student数据库stuExam表中的数据,并对GridView控件进行绑定。代码如下。

protected void Page_Load(object sender,EventArgs e)

{

if(!IsPostBack)

GetData();

}

protected void GetData()

{

string strcon=ConfigurationManager.ConnectionStrings[“stu”].ConnectionString;

SqlConnection con=new SqlConnection(strcon);

string sql=“SELECT * FROM[stuExam]”;

SqlDataAdapter da=new SqlDataAdapter(sql,con);

DataSet ds=new System.Data.DataSet();

da.Fill(ds);

grvStu.DataSource=ds.Tables[0].DefaultView;

grvStu.DataBind();

}

2.5数据的编辑

GridView控件按数据表中定义数据字段的顺序显示数据。如果自定义显示的字段,则设置GridView的AutoGenerateColumns=“False”。通过编辑列,将数据列重新绑定。“源”视图代码如下。

3 将GridView中的数据导出到Excel

给按钮btnToExcel添加单击事件,编写代码实现将数据导出到Excel,并重写Page对象的VerifyRenderingInServerForm方法。

3.1给btnToExcel添加Click事件,并编写事件代码

protected void btnToExcel_Click(object sender,EventArgs e)

{

//清除缓冲流

Response.Clear();

//设置输出流的字符集类型

Response.Charset=“gb2312”;

//是否缓冲后输出

Response.Buffer=true;

//将HTML头添加到输出流

Response.AppendHeader(“Content-Disposition”,“attachment;filename=stuExam.xls”);

//设置输出流的字符集编码格式(UTF-8)

HttpContext.Current.Response.ContentEncoding=System.Text.Encoding.Default;

//输出流的MINI类型

Response.ContentType=“application/ms-excel”;

//实例化一个IO流的文本写入对象

System.IO.StringWritersw=new System.IO.StringWriter();

//实例化一个文本输出流

System.Web.UI.HtmlTextWriterhtw=new HtmlTextWriter(sw);

//把当前控件内容放入到文本输出流,准备写入到Excel中

grvStu.RenderControl(htw);

//开始写入

HttpContext.Current.Response.Output.Write(sw.ToString());

//发送内容

HttpContext.Current.Response.Flush();

//发送完毕后,停止response

HttpContext.Current.Response.End();

}

3.2改写VerifyRenderingInServerForm方法

VerifyRenderingInServerForm()中虽然不写任何代码,要一定重写,才能保证数据正确的导出。

public override void VerifyRenderingInServerForm(Control control)

{

//不写任何代码

}

3.3实现导出数据功能

保存页面并运行,单击按钮打开“打开对话框”。即可完成数据的导出功能。

4 结语

在实际应用中将GridView控件中的数据导出到Excel文件的应用很多。本文介绍了GridView控件的基本使用方法,以及用代码的方式实现数据的绑定,并将数据导出到Excel文件中的方法与详细步骤。

[1]ASP.NET从入门到精通.明日科技清华大学出版社出版时间:2012年9月.

[2]张正礼.ASP.NET 4.0网站开发与项目实战.清华大学出版出版时间:2012-04-01.

[3]Asp.Net编程艺术.武汉厚溥教育科技有限公司,清华大学出版社出版时间:2014年6月.

吴金秀,女,黄冈职业技术学院副教授。

TP311

A

1671-1602(2016)16-00010-02

猜你喜欢

黄冈数据表数据源
黄冈师范学院美术作品选登
黄冈师范学院美术学院写生作品选登
黄冈师范学院书法作品选登
湖北省新冠肺炎疫情数据表(2.26-3.25)
湖北省新冠肺炎疫情数据表
基于列控工程数据表建立线路拓扑关系的研究
《黄冈密卷》究竟从何而来
Web 大数据系统数据源选择*
基于不同网络数据源的期刊评价研究
基于真值发现的冲突数据源质量评价算法