国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

將GridView中的數(shù)據(jù)導(dǎo)出到Excel的方法探究

2016-02-22 12:36吳金秀
西部皮革 2016年16期
關(guān)鍵詞:黃岡數(shù)據(jù)表數(shù)據(jù)源

吳金秀

(黃岡職業(yè)技術(shù)學(xué)院,湖北 黃岡 438000)

?

將GridView中的數(shù)據(jù)導(dǎo)出到Excel的方法探究

吳金秀

(黃岡職業(yè)技術(shù)學(xué)院,湖北 黃岡 438000)

Asp.net技術(shù)中有一組數(shù)據(jù)綁定控件,每個控件都有獨自顯示的數(shù)據(jù)的特點。其中GridView控件的功能很豐富,不僅能以二維的表格顯示數(shù)據(jù)庫的數(shù)據(jù),還提供了對數(shù)據(jù)的排序、分頁、選擇、編輯和刪除等功能。在實際中將GridView中的數(shù)據(jù)導(dǎo)出到Excel表格的應(yīng)用也很多,本文本主要介紹了用代碼的方式給GridView綁定數(shù)據(jù)以及將數(shù)據(jù)導(dǎo)出到Excel表格中的過程與方法。

數(shù)據(jù)庫;GridView;導(dǎo)出

1 GridView簡介

GridView控件以表格的形式顯示數(shù)據(jù),并能對數(shù)據(jù)的排序、分頁、選擇、編輯和刪除等功能。如果用SqlDataSource作用數(shù)據(jù)源控件,幾乎不用寫任何代碼就可以完成這些功能。也可以用代碼提供數(shù)據(jù)源。

將GridView控件的列轉(zhuǎn)換成模板,完成用戶自定義數(shù)據(jù)的顯示,結(jié)合事件模型,可以完成用戶自定義的復(fù)雜的事件。同時系統(tǒng)還提供了數(shù)據(jù)顯示的“自動套用格式”,系統(tǒng)內(nèi)置了十幾種內(nèi)部格式,當然用戶也可以自定義格式。

2 GridView控件綁定數(shù)據(jù)

GridView控件可以顯示數(shù)據(jù)源中的數(shù)據(jù)。通過SqlDataSourcer控件提供數(shù)據(jù)源或者用代碼的方式獲取數(shù)據(jù)源,GridView控件可以自動的顯示數(shù)據(jù)源中數(shù)據(jù),也可以按用戶指定的方式或格式顯示數(shù)據(jù)。

利用SQL Server 2005數(shù)據(jù)庫管理系統(tǒng)完成數(shù)據(jù)庫的新建和數(shù)據(jù)的錄入,用GridView控件進行顯示數(shù)據(jù),最后將GridView控件中的數(shù)據(jù)導(dǎo)出到Excel。

2.1新建數(shù)據(jù)庫

新建student數(shù)據(jù)庫,在student數(shù)據(jù)庫中新建stuExam數(shù)據(jù)表,stuExam數(shù)據(jù)表包括學(xué)生的學(xué)號、班級、姓名、語文、數(shù)學(xué)、英語成績,并錄入幾條記錄。)

2.2設(shè)計頁面

在頁上添加一個GridView控件和一個Button控件。設(shè)置GridView控件的ID為grvStu。設(shè)置Button控件Text=“導(dǎo)出到Excel”,ID為btnToExcel。

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

頁面要訪問數(shù)據(jù)庫,先在web.config配置文件節(jié)點中

配置連接字符串。

2.4編寫代碼

在頁面的后臺cs文件中編寫代碼,獲取student數(shù)據(jù)庫stuExam表中的數(shù)據(jù),并對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數(shù)據(jù)的編輯

GridView控件按數(shù)據(jù)表中定義數(shù)據(jù)字段的順序顯示數(shù)據(jù)。如果自定義顯示的字段,則設(shè)置GridView的AutoGenerateColumns=“False”。通過編輯列,將數(shù)據(jù)列重新綁定?!霸础币晥D代碼如下。

3 將GridView中的數(shù)據(jù)導(dǎo)出到Excel

給按鈕btnToExcel添加單擊事件,編寫代碼實現(xiàn)將數(shù)據(jù)導(dǎo)出到Excel,并重寫Page對象的VerifyRenderingInServerForm方法。

3.1給btnToExcel添加Click事件,并編寫事件代碼

protected void btnToExcel_Click(object sender,EventArgs e)

{

//清除緩沖流

Response.Clear();

//設(shè)置輸出流的字符集類型

Response.Charset=“gb2312”;

//是否緩沖后輸出

Response.Buffer=true;

//將HTML頭添加到輸出流

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

//設(shè)置輸出流的字符集編碼格式(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);

//把當前控件內(nèi)容放入到文本輸出流,準備寫入到Excel中

grvStu.RenderControl(htw);

//開始寫入

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

//發(fā)送內(nèi)容

HttpContext.Current.Response.Flush();

//發(fā)送完畢后,停止response

HttpContext.Current.Response.End();

}

3.2改寫VerifyRenderingInServerForm方法

VerifyRenderingInServerForm()中雖然不寫任何代碼,要一定重寫,才能保證數(shù)據(jù)正確的導(dǎo)出。

public override void VerifyRenderingInServerForm(Control control)

{

//不寫任何代碼

}

3.3實現(xiàn)導(dǎo)出數(shù)據(jù)功能

保存頁面并運行,單擊按鈕打開“打開對話框”。即可完成數(shù)據(jù)的導(dǎo)出功能。

4 結(jié)語

在實際應(yīng)用中將GridView控件中的數(shù)據(jù)導(dǎo)出到Excel文件的應(yīng)用很多。本文介紹了GridView控件的基本使用方法,以及用代碼的方式實現(xiàn)數(shù)據(jù)的綁定,并將數(shù)據(jù)導(dǎo)出到Excel文件中的方法與詳細步驟。

[1]ASP.NET從入門到精通.明日科技清華大學(xué)出版社出版時間:2012年9月.

[2]張正禮.ASP.NET 4.0網(wǎng)站開發(fā)與項目實戰(zhàn).清華大學(xué)出版出版時間:2012-04-01.

[3]Asp.Net編程藝術(shù).武漢厚溥教育科技有限公司,清華大學(xué)出版社出版時間:2014年6月.

吳金秀,女,黃岡職業(yè)技術(shù)學(xué)院副教授。

TP311

A

1671-1602(2016)16-00010-02

猜你喜歡
黃岡數(shù)據(jù)表數(shù)據(jù)源
黃岡師范學(xué)院美術(shù)作品選登
黃岡師范學(xué)院美術(shù)學(xué)院寫生作品選登
黃岡師范學(xué)院書法作品選登
湖北省新冠肺炎疫情數(shù)據(jù)表(2.26-3.25)
湖北省新冠肺炎疫情數(shù)據(jù)表
基于列控工程數(shù)據(jù)表建立線路拓撲關(guān)系的研究
《黃岡密卷》究竟從何而來
Web 大數(shù)據(jù)系統(tǒng)數(shù)據(jù)源選擇*
基于不同網(wǎng)絡(luò)數(shù)據(jù)源的期刊評價研究
基于真值發(fā)現(xiàn)的沖突數(shù)據(jù)源質(zhì)量評價算法
扎赉特旗| 古浪县| 巫溪县| 横山县| 旌德县| 明星| 平顶山市| 正蓝旗| 汨罗市| 云南省| 鄂尔多斯市| 板桥市| 沭阳县| 当阳市| 广东省| 奉节县| 海口市| 泽库县| 独山县| 略阳县| 筠连县| 新余市| 喀喇沁旗| 武清区| 梁平县| 进贤县| 包头市| 麻栗坡县| 文登市| 乌拉特中旗| 通州区| 南丹县| 民和| 滨海县| 和平县| 和静县| 巴彦淖尔市| 罗山县| 渝中区| 马龙县| 樟树市|