<%@ Page language="c#" Src="datagrid2.aspx.cs" AutoEventWireup="false" Inherits="DataGrid_import_WordExcel.WebForm1" %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" > <HTML> <HEAD> <title>OutPutExcel</title> </HEAD> <link rel="stylesheet" href="Style.css" type="text/css"> <body> <form width="120%" id="Form1" method="post" runat="server"> <table width="120%"><tr><td> <asp:datagrid id="DataGrid1" bgcolor="#efefef" HeaderStyle-BackColor="#718BD6" HeaderStyle-ForeColor="#FFFF66" AlternatingItemStyle-BackColor="#FFFFFF" itemstyle-backcolor="#FFFFFF" runat="server"> <ItemStyle HorizontalAlign="center" Height="20"></ItemStyle> <Columns> </Columns> </asp:datagrid> </td></tr></table> <P> <asp:button id="Btn_Import_Excel" runat="server" Text="轉到EXCEL"></asp:button></P> </form> </body> </HTML>----------------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.IO; using System.Data.SqlClient ; using System.Text; using System.Configuration;namespace DataGrid_import_WordExcel { public class WebForm1 : System.Web.UI.Page { protected System.Web.UI.WebControls.Button BtnImportWord; protected System.Web.UI.WebControls.Button Btn_Import_Excel; protected System.Web.UI.WebControls.DataGrid DataGrid1; public DataRow dr; private DataSet myDS =new DataSet();private void Page_Load(object sender, System.EventArgs e) { //CreateDataSet(); Data_Load(); if(!IsPostBack) { //DataBind(); } } #region Web 敦极扢數?汜傖腔測鎢 override protected void OnInit(EventArgs e) { InitializeComponent(); base.OnInit(e); } private void InitializeComponent() { this.Btn_Import_Excel.Click += new System.EventHandler(this.Btn_Import_Excel_Click); this.Load += new System.EventHandler(this.Page_Load); } #endregion private void ExportDataGrid(string FileType, string FileName) //植DataGrid絳堤 { Response.Charset = "GB2312"; Response.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312"); Response.AppendHeader("Content-Disposition", "attachment;filename=" +HttpUtility.UrlEncode(FileName,Encoding.UTF8).ToString()); Response.ContentType = FileType; this.EnableViewState =false; StringWriter tw = new StringWriter(); HtmlTextWriter hw =new HtmlTextWriter(tw); DataGrid1.RenderControl(hw); Response.Write(tw.ToString()); Response.End(); } private void Btn_Import_Excel_Click(object sender, System.EventArgs e) { ExportDataGrid("application/ms-excel", "Excel.xls"); //絳善Excel } private void Data_Load() { SqlConnection myConnection = new SqlConnection(System.Configuration.ConfigurationSettings.AppSettings["data"]); SqlCommand cmd=new SqlCommand("excel",myConnection); cmd.CommandType=CommandType.StoredProcedure; myConnection.Open(); DataSet ds=new DataSet(); SqlDataAdapter da=new SqlDataAdapter(); da.SelectCommand=cmd; da.Fill(ds); DataGrid1.DataSource=ds; DataGrid1.DataBind(); }} }
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 { /// <summary> /// excel 的摘要说明。 /// </summary> public class excel : System.Web.UI.Page { protected System.Web.UI.WebControls.Button btnGetExcel; protected System.Web.UI.WebControls.DataGrid dgExcel;
private void Page_Load(object sender, System.EventArgs e) { DataSet objDataset = new DataSet(); SqlConnection objConn = new SqlConnection(); objConn = new SqlConnection(ConfigurationSettings.AppSettings["ConnectionSqlServer"].ToString()); objConn.Open(); SqlDataAdapter objAdapter = new SqlDataAdapter("Select top 5 * 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; if(Request.QueryString["bExcel"] == "1") { 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(); } } #region Web Form Designer generated code override protected void OnInit(EventArgs e) { // // CODEGEN:该调用是 ASP.NET Web 窗体设计器所必需的。 // InitializeComponent(); base.OnInit(e); }
gridview的一般问题都能够得到解决,里面还有视频教程和源代码。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<HTML>
<HEAD>
<title>OutPutExcel</title>
</HEAD>
<link rel="stylesheet" href="Style.css" type="text/css">
<body>
<form width="120%" id="Form1" method="post" runat="server">
<table width="120%"><tr><td>
<asp:datagrid
id="DataGrid1"
bgcolor="#efefef"
HeaderStyle-BackColor="#718BD6"
HeaderStyle-ForeColor="#FFFF66"
AlternatingItemStyle-BackColor="#FFFFFF"
itemstyle-backcolor="#FFFFFF"
runat="server">
<ItemStyle HorizontalAlign="center" Height="20"></ItemStyle>
<Columns> </Columns>
</asp:datagrid>
</td></tr></table>
<P>
<asp:button id="Btn_Import_Excel" runat="server" Text="轉到EXCEL"></asp:button></P>
</form>
</body>
</HTML>----------------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.IO;
using System.Data.SqlClient ;
using System.Text;
using System.Configuration;namespace DataGrid_import_WordExcel
{ public class WebForm1 : System.Web.UI.Page
{
protected System.Web.UI.WebControls.Button BtnImportWord;
protected System.Web.UI.WebControls.Button Btn_Import_Excel;
protected System.Web.UI.WebControls.DataGrid DataGrid1;
public DataRow dr;
private DataSet myDS =new DataSet();private void Page_Load(object sender, System.EventArgs e)
{
//CreateDataSet();
Data_Load();
if(!IsPostBack)
{
//DataBind();
}
} #region Web 敦极扢數?汜傖腔測鎢
override protected void OnInit(EventArgs e)
{
InitializeComponent();
base.OnInit(e);
} private void InitializeComponent()
{
this.Btn_Import_Excel.Click += new System.EventHandler(this.Btn_Import_Excel_Click);
this.Load += new System.EventHandler(this.Page_Load);
}
#endregion private void ExportDataGrid(string FileType, string FileName) //植DataGrid絳堤
{
Response.Charset = "GB2312";
Response.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312"); Response.AppendHeader("Content-Disposition", "attachment;filename=" +HttpUtility.UrlEncode(FileName,Encoding.UTF8).ToString());
Response.ContentType = FileType;
this.EnableViewState =false;
StringWriter tw = new StringWriter();
HtmlTextWriter hw =new HtmlTextWriter(tw);
DataGrid1.RenderControl(hw);
Response.Write(tw.ToString());
Response.End();
}
private void Btn_Import_Excel_Click(object sender, System.EventArgs e)
{
ExportDataGrid("application/ms-excel", "Excel.xls"); //絳善Excel
} private void Data_Load()
{ SqlConnection myConnection = new SqlConnection(System.Configuration.ConfigurationSettings.AppSettings["data"]);
SqlCommand cmd=new SqlCommand("excel",myConnection);
cmd.CommandType=CommandType.StoredProcedure; myConnection.Open(); DataSet ds=new DataSet();
SqlDataAdapter da=new SqlDataAdapter();
da.SelectCommand=cmd;
da.Fill(ds);
DataGrid1.DataSource=ds;
DataGrid1.DataBind();
}}
}
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
{
/// <summary>
/// excel 的摘要说明。
/// </summary>
public class excel : System.Web.UI.Page
{
protected System.Web.UI.WebControls.Button btnGetExcel;
protected System.Web.UI.WebControls.DataGrid dgExcel;
private void Page_Load(object sender, System.EventArgs e)
{
DataSet objDataset = new DataSet();
SqlConnection objConn = new SqlConnection();
objConn = new SqlConnection(ConfigurationSettings.AppSettings["ConnectionSqlServer"].ToString());
objConn.Open();
SqlDataAdapter objAdapter = new SqlDataAdapter("Select top 5 * 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;
if(Request.QueryString["bExcel"] == "1")
{
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();
} } #region Web Form Designer generated code
override protected void OnInit(EventArgs e)
{
//
// CODEGEN:该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}
/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
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.Redirect("excel.aspx?bExcel=1");
} }
}