繁体中文
设为首页
加入收藏
当前位置:ASP技术首页 >> ASP基础 >> 将数据库数据读出到DataGrid然后保存到excel中

将数据库数据读出到DataGrid然后保存到excel中

2006-06-15 08:00:00  作者:  来源:互联网  浏览次数:0  文字大小:【】【】【
简介:我先给出部份程序的解释,然后给出整个源代码。 DataSet objDataset = new DataSet(); objConn = new SqlConnection(ConfigurationSettings.AppSettings["ConnectionSqlServer"].ToString()); objConn.Open();//...

我先给出部份程序的解释,然后给出整个源代码。

DataSet objDataset = new DataSet();

objConn = new SqlConnection(ConfigurationSettings.AppSettings["ConnectionSqlServer"].ToString());

objConn.Open();//在web.config中的配置文件。

SqlDataAdapter objAdapter = new SqlDataAdapter("Select top 10 * from customers where country='USA'",objConn);//这里要改成你的数据库相应的表的选择句语

objAdapter.Fill(objDataset);

DataView oView = new DataView(objDataset.Tables[0]);

dgExcel.DataSource = oView;

dgExcel.DataBind();

objConn.Close();

objConn.Dispose();

objConn = null;

上面部分是从数据库中读出数据显示到DataGrid中去。

Response.ContentType = "application/vnd.ms-Excel";

Response.Charset = "";

//关闭 ViewState

EnableViewState = false;

System.IO.StringWriter tw = new System.IO.StringWriter();//将信息写入字符串

System.Web.UI.HTMLTextWriter hw = new System.Web.UI.HTMLTextWriter(tw);//在WEB窗体页上写出一系列连续的HTML特定字符和文本。

//此类提供ASP.NET服务器控件在将HTML内容呈现给客户端时所使用的格式化功能

//参见http://msdn.microsoft.com/library/chs/default.ASP?url=/library/CHS/cpref/HTML/frlrfsystemwebuiHTMLtextwriterclasstopic.ASP

//获取control的HTML

dgExcel.RenderControl(hw);//将DATAGRID中的内容输出到HTMLTextWriter对象中

// 把HTML写回浏览器

Response.Write(tw.ToString());

Response.End();

全部代码如下:

using System;

using System.Collections;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Web;

using System.Web.SessionState;

using System.Web.UI;

using System.Web.UI.WebControls;

using System.Web.UI.HTMLControls;

using System.Data.SqlClient;

using System.Configuration;

namespace CommonFunction

{

///

/// Excel 的摘要说明。

///

public class Excel : System.Web.UI.Page

{

protected System.Web.UI.WebControls.Button btnGetExcel;

protected System.Web.UI.WebControls.DataGrid dgExcel;

protected System.Data.SqlClient.SqlConnection objConn;

private void Page_Load(object sender, System.EventArgs e)

{

if(!IsPostBack)

{

DataSet objDataset = new DataSet();

objConn = new SqlConnection(ConfigurationSettings.AppSettings["ConnectionSqlServer"].ToString());

objConn.Open();

SqlDataAdapter objAdapter = new SqlDataAdapter("Select top 10 * from customers where country='USA'",objConn);

objAdapter.Fill(objDataset);

DataView oView = new DataView(objDataset.Tables[0]);

dgExcel.DataSource = oView;

dgExcel.DataBind();

objConn.Close();

objConn.Dispose();

objConn = null;

}

}

#region Web Form Designer generated code

override protected void OnInit(EventArgs e)

{

//

// CODEGEN:该调用是 ASP.NET Web 窗体设计器所必需的。

//

InitializeComponent();

base.OnInit(e);

}

///

/// 设计器支持所需的方法 - 不要使用代码编辑器修改

/// 此方法的内容。

///

private void InitializeComponent()

{

this.btnGetExcel.Click += new System.EventHandler(this.btnGetExcel_Click);

this.Load += new System.EventHandler(this.Page_Load);

}

#endregion

private void btnGetExcel_Click(object sender, System.EventArgs e)

{

Response.ContentType = "application/vnd.ms-Excel";

Response.Charset = "";

//关闭 ViewState

EnableViewState = false;

System.IO.StringWriter tw = new System.IO.StringWriter();//将信息写入字符串

System.Web.UI.HTMLTextWriter hw = new System.Web.UI.HTMLTextWriter(tw);//在WEB窗体页上写出一系列连续的HTML特定字符和文本。

//此类提供ASP.NET服务器控件在将HTML内容呈现给客户端时所使用的格式化功能

//获取control的HTML

dgExcel.RenderControl(hw);//将DATAGRID中的内容输出到HTMLTextWriter对象中

// 把HTML写回浏览器

Response.Write(tw.ToString());

Response.End();

}

}

}

前台的页面:

<%@ Page language="c#" Codebehind="Excel.ASPx.cs" AutoEventWireup="false" Inherits="CommonFunction.Excel" %>

Excel

cellSpacing="1" cellPadding="1" width="288" border="0">

BorderStyle="None" BorderWidth="1px" BorderColor="#CC9966" BackColor="White" CellPadding="4">

BorderStyle="Solid" BorderColor="Black" BackColor="#990000">

责任编辑:admin
相关文章