关于ASP.NET导出Excel表格的我的总结概括

      以前一直想研究ASP.NET导出Excel表格来着,但一直没有时间,这几天由于一个项目的须要,因此就钻研了一下。有百度,但网上各各大神的帖子几乎同样,都是二话不说直接给出函数内容的,至于函数名,参数,返回值以及要使用到的头文件,以及该把那些函数放在哪里的说明都没有列出,因此搞定这个技术点仍是花费了我很长的时间。下面我就用图文的方式给你们仔细介绍讲解一下怎样用ASP.NET导出Excel的步骤以及具体作法,作的很差请轻喷。 数据库

       由于时间仓促,因此我只研究了用外部类借助DataSet(结果集)导出Excel表格的这种比较实用的方法。(其余方法之后会陆续发表) 函数

       

      界面准备(DownStudent.aspx):(具体代码见附录) spa

      

1.在DownStudent.aspx页面上添加一个Label标签用来显示“请选择要查看数据的条件”静态文本; excel

2.在该页面上添加DropDownList控件用来控制显示数据以及输出数据的条件,绑定DropDownList1_SelectedIndexChanged函数; 对象

3.在该页面上添加GridView控件来显示由DropDownList控件指定条件的数据; 字符串

4.在该页面上添加SqlDataSource控件用来链接数据库并将查询的结果返给GridView控件; 后台

5.最后是一个确认按钮,绑定Button1_Click函数。 百度


后台代码实现(DownStudent.aspx.cs):(具体代码见附录) List

后台代码的实现是导出Excel表格的关键所在,是重中之重。 命名空间

1.首先是命名空间的问题,由于这里是导出Excel表格用到了输入输出流,因此必须在命名空间里引用IO流(

using System.IO;),我这里用的是SQLServer数据库,因此还要用到(using System.Data;和using System.Data,Sql;);

2.实现DropDownList1_SelectedIndexChanged函数,注意:SelectedIndexChanged方法的实现必须基于DropDownList1控件的AutoPostBack属性要设置为True(不然SelectedIndexChanged方法无效),而DropDownList1_SelectedIndexChanged函数主要实现的就是根据DropDownList1控件选定的条件修改SqlDataSource控件的SelectComand的值;

代码示例:SqlDataSource1.SelectCommand = "SELECT [Chufen], [Zhibu], [Zhuanzheng] from bizusers  WHERE (bizusers.Zhibu ='" + DropDownList1.SelectedItem.Text + "')";

3.Button1_Click函数是精华所在,该函数实现思想是:先获取一个数据库链接(方法比较多,有传统经过SqlConnect获取的,也有调用外部类实现的),而后是一条SQL语句(Select查询字符串),再者是调用外部类的方法根据SQL语句生成一个DataSet结果集对象(把SQL语句查询到的值放入DataSet里,方便下一次使用,而不是再去访问一次数据库),最后,调用CreateExcel函数,注意参数;

4.实现CreateExcel函数(就是对生成的DataSet的进一步操做了);


       其余引用文件说明:


在App_Code文件夹里主要有3个外部类,QueryString.cs文件这里不是重点,故跳过。1.ExcelExporter.cs文件主要是实现了CreateExcel函数中调用的类,是用来生成Excel文件的,涉及excelXML文件流,只须要会调用该类对DataSet进行处理便可,具体生成Excel表格工做交由它处理;2.SqlData.cs文件主要是封装了链接数据库SqlConnect对象的方法,而且实现了对SqlCommand命令获取到的值的操做,实现了生成DataSet对象以及DataReader对象的方法(该文件主要好处是省去了每次在界面.cs文件中都要调用SqlConnect以及SqlCommand对象的麻烦);(具体代码见附录)  

      效果:

单击“确认导出”按钮;          

选择另存为便可;

代码已被我上传到百度云盘:http://pan.baidu.com/s/1gdIx08j

相关文章
相关标签/搜索