天天看点

Gridview中的内容导出到Excel

涓???Gridview涓?????瀹瑰?煎?哄??xcel

?????ㄦ?ュ父宸ヤ?涓?锛?缁?甯歌?灏?gridview涓?????瀹瑰?煎?哄??xcel?ヨ〃涓??伙???sp.net 2.0涓?锛????峰??浠ュ??逛究?板???板??翠釜gridview涓?????瀹瑰?煎?哄??xcel?ヨ〃涓??伙?涓????缁??跺?蜂???娉?锛?

????棣???锛?寤虹???烘????椤甸??efault.aspx

锛?form id="form1" runat="server"锛?

锛?div锛?

锛?asp:GridView ID="GridView1" runat="server"锛?

锛?/asp:GridView锛?

锛?/div锛?

锛?br/锛?

锛?asp:Button ID="BtnExport" runat="server" OnClick="BtnExport_Click"

Text="Export to Excel" /锛?

锛?/form锛?

??????efault.aspx.cs涓?锛????ュ?涓?浠g??锛?

protected void Page_Load(object sender, EventArgs e)

{

??if (!Page.IsPostBack)

??{

????BindData();

??}

}

private void BindData()

{

??string query = "SELECT * FROM customers";

??SqlConnection myConnection = new SqlConnection(ConnectionString);

??SqlDataAdapter ad = new SqlDataAdapter(query, myConnection);

??DataSet ds = new DataSet();

??ad.Fill(ds, "customers");

??GridView1.DataSource = ds;

??GridView1.DataBind();

}

public override void VerifyRenderingInServerForm(Control control)

{

??// Confirms that an HtmlForm control is rendered for

}

protected void Button1_Click(object sender, EventArgs e)

{

??Response.Clear();

??Response.AddHeader("content-disposition","attachment;filename=FileName.xls");

??Response.Charset = "gb2312";

??Response.ContentType = "application/vnd.xls";

??System.IO.StringWriter stringWrite = new System.IO.StringWriter();

??System.Web.UI.HtmlTextWriter htmlWrite =new HtmlTextWriter(stringWrite);

??GridView1.AllowPaging = false;

??BindData();

??GridView1.RenderControl(htmlWrite);

??Response.Write(stringWrite.ToString());

??Response.End();

??GridView1.AllowPaging = true;

??BindData();

}

protected void paging(object sender,GridViewPageEventArgs e)

{

??GridView1.PageIndex = e.NewPageIndex;

??BindData();

}

?????ㄤ??㈢??浠g??涓?锛???浠?棣???灏?gridview缁?瀹??版??瀹????版??婧?涓?锛??跺????utton1??????锛??ㄦ?ュ??瀵煎?哄??XCEL??锛???浜?浠朵腑锛????ョ?稿?崇??浠g????杩???浣跨??esponse.AddHeader("content-disposition","attachment;filename= exporttoexcel.xls");涓???filename?ユ??瀹?灏?瑕?瀵煎?虹??excel????浠跺??锛?杩?????exporttoexcel.xls??瑕?娉ㄦ??????锛??变?gridview????瀹瑰???芥????椤垫?剧ず??锛???姝わ?杩????ㄦ??娆″?煎??xcel?讹???灏?gridview??allowpaging灞??ц?剧疆涓?false,?跺????杩?椤甸?㈡????瑰?瀵煎?哄???椤电??gridview??xcel涓?锛??????????拌?剧疆??llowpaging灞??с?????瑕?娉ㄦ??????锛?瑕???涓?涓?绌虹??VerifyRenderingInServerForm?规?锛?蹇?椤诲??锛?锛?浠ョ‘璁ゅ?ㄨ?琛??朵负??瀹???ASP.NET ???″?ㄦ?т欢????tmlForm ?т欢??

????浜???璁块??gridview涓?????绫绘?т欢

??????ridview涓?锛?缁?甯歌?璁块???朵腑????绫绘?т欢锛?姣?濡?dropdownlist,radiobutton,checkbox绛?锛?涓??㈠?绾充???ridview涓?璁块????绫绘?т欢???规???

????棣?????涓?濡?浣???ridview涓?璁块??dropdownlist?т欢????璁惧?ㄤ?涓?gridviw涓?锛?灞??扮??姣??¤?板?涓??介??瑕?渚??ㄦ?风?ㄤ??????╃???瑰?????dropdownlist?т欢涓?????瀹癸?????浠ヤ娇?ㄥ?涓?浠g??锛?褰??ㄦ?烽???╁ソgridview涓???dropdownlist?т欢????椤瑰??锛??瑰?绘????锛???绯荤????板?虹?ㄦ?峰?板????╀???浜?dropdownlist?т欢锛?骞惰??哄??浠????笺??

public DataSet PopulateDropDownList()

{

??SqlConnection myConnection =new SqlConnection(ConfigurationManager.ConnectionStrings["MyDatabase"].ConnectionString);

??SqlDataAdapter ad = new SqlDataAdapter("SELECT * FROM tblPhone", myConnection);

??DataSet ds = new DataSet();

??ad.Fill(ds, "tblPhone");

??return ds;

}

????涓??㈢??浠g??棣???灏??版??搴?涓?tblphone琛ㄧ???版??浠?ataset??褰㈠?杩??????跺???ㄩ〉?㈢??itemtemplate涓?锛?濡?涓?璁捐?★?

锛?ItemTemplate锛?

锛?asp:DropDownList ID="DropDownList1" runat="server" DataSource="锛?%# PopulateDropDownList() %锛?"

DataTextField="Phone" DataValueField = "PhoneID"锛?

锛?/asp:DropDownList锛?

锛?/ItemTemplate锛?

????杩???娉ㄦ??dropdownlist?т欢??datasource灞??х?瀹?浜?????杩?????dataset锛?璋??ㄤ?populatedropdownlist()?规?锛?,骞惰?娉ㄦ??璁剧疆濂?atatextfield??datavaluefield灞??с??

?????跺??锛???utton??浜?浠朵腑锛????ヤ互涓?浠g??锛?

protected void Button2_Click(object sender, EventArgs e)

{

??StringBuilder str = new StringBuilder();

??foreach (GridViewRow gvr in GridView1.Rows)

??{

????string selectedText = ((DropDownList)gvr.FindControl("DropDownList1")).SelectedItem.Text;

????str.Append(selectedText);

??}

??Response.Write(str.ToString());

}

????杩???锛???浠??ㄥ惊??锛??ヨ?峰?姣?涓?琛???dropdownlist?т欢???硷?骞朵?灏??兼坊???板??绗?覆涓?????杈??恒??

?????ョ??锛???浠??ョ??涓?濡?浣?璁块??gridview?т欢涓???checkbox?т欢??缁?甯稿??ridview?т欢涓?锛???瑕?缁??ㄦ?峰?椤归???╃?????斤?杩?涓??跺??灏遍??瑕?浣跨??heckbox?т欢??棣?????浠?寤虹??涓?涓?妯$????锛??朵腑??checkbox濡?涓?锛?

锛?asp:GridView ID="GridView1" runat="server" AllowPaging="True" AllowSorting="True"

AutoGenerateColumns="False" DataKeyNames="PersonID" DataSourceID="mySource" Width="366px" CellPadding="4" ForeColor="#333333" GridLines="None"锛?

锛?Columns锛?

锛?asp:CommandField ShowSelectButton="True" /锛?

锛?asp:BoundField DataField="PersonID" HeaderText="PersonID" InsertVisible="False"

ReadOnly="True" SortExpression="PersonID" /锛?

锛?asp:BoundField DataField="Name" HeaderText="Name" SortExpression="Name" /锛?

锛?asp:TemplateField HeaderText="Select"锛?

锛?ItemTemplate锛?

锛?asp:CheckBox ID="chkSelect" runat="server" /锛?

锛?/ItemTemplate锛?

锛?HeaderTemplate锛?

锛?/HeaderTemplate锛?

锛?/asp:TemplateField锛?

锛?/Columns锛?

锛?/asp:GridView锛?

????涓轰?绀烘???у?拌?茶В濡?浣?寰??扮?ㄦ?烽???╃??checkbox锛???浠ュ???涓?涓?????锛?褰??ㄦ?烽????ridview涓?????椤瑰??锛??硅?ユ????锛?????浠ヨ??虹?ㄦ?烽??浜???浜???椤癸??ㄦ??????CLICK浜?浠朵腑???ュ?涓?浠g??锛?

for (int i = 0; i 锛? GridView1.Rows.Count; i++)

{

??GridViewRow row = GridView1.Rows[i];

??bool isChecked = ((CheckBox) row.FindControl("chkSelect")).Checked;

??if (isChecked)

??{

????str.Append(GridView1.Rows[i].Cells[2].Text);

??}

}

Response.Write(str.ToString());

?????ヤ??ワ???浠?娣诲??涓?涓??ㄩ???????╂?锛?褰??ㄦ?烽???╄?ユ??讹???浠ュ?ㄩ?ㄩ????ridview涓???checkbox.棣?????浠???eadtemplate涓?濡?涓?璁捐?★?

锛?HeaderTemplate锛?

锛?input id="chkAll" 慰nclick="javascript:SelectAllCheckboxes(this);" runat="server" type="checkbox" /锛?

锛?/HeaderTemplate锛?

????javascript?ㄥ????浠g??濡?涓???绀猴?

锛?script language=javascript锛?

function SelectAllCheckboxes(spanChk){

??var oItem = spanChk.children;

??var theBox=(spanChk.type=="checkbox")?spanChk:spanChk.children.item[0];

??xState=theBox.checked;

??elm=theBox.form.elements;

??for(i=0;i锛?elm.length;i++)

??if(elm[i].type=="checkbox" && elm[i].id!=theBox.id)

??{

????if(elm[i].checked!=xState)

????elm[i].click();

??}

}

锛?/script锛?

涓???Gridview涓?????瀹瑰?煎?哄??xcel

?????ㄦ?ュ父宸ヤ?涓?锛?缁?甯歌?灏?gridview涓?????瀹瑰?煎?哄??xcel?ヨ〃涓??伙???sp.net 2.0涓?锛????峰??浠ュ??逛究?板???板??翠釜gridview涓?????瀹瑰?煎?哄??xcel?ヨ〃涓??伙?涓????缁??跺?蜂???娉?锛?

????棣???锛?寤虹???烘????椤甸??efault.aspx

锛?form id="form1" runat="server"锛?

锛?div锛?

锛?asp:GridView ID="GridView1" runat="server"锛?

锛?/asp:GridView锛?

锛?/div锛?

锛?br/锛?

锛?asp:Button ID="BtnExport" runat="server" OnClick="BtnExport_Click"

Text="Export to Excel" /锛?

锛?/form锛?

??????efault.aspx.cs涓?锛????ュ?涓?浠g??锛?

protected void Page_Load(object sender, EventArgs e)

{

??if (!Page.IsPostBack)

??{

????BindData();

??}

}

private void BindData()

{

??string query = "SELECT * FROM customers";

??SqlConnection myConnection = new SqlConnection(ConnectionString);

??SqlDataAdapter ad = new SqlDataAdapter(query, myConnection);

??DataSet ds = new DataSet();

??ad.Fill(ds, "customers");

??GridView1.DataSource = ds;

??GridView1.DataBind();

}

public override void VerifyRenderingInServerForm(Control control)

{

??// Confirms that an HtmlForm control is rendered for

}

protected void Button1_Click(object sender, EventArgs e)

{

??Response.Clear();

??Response.AddHeader("content-disposition","attachment;filename=FileName.xls");

??Response.Charset = "gb2312";

??Response.ContentType = "application/vnd.xls";

??System.IO.StringWriter stringWrite = new System.IO.StringWriter();

??System.Web.UI.HtmlTextWriter htmlWrite =new HtmlTextWriter(stringWrite);

??GridView1.AllowPaging = false;

??BindData();

??GridView1.RenderControl(htmlWrite);

??Response.Write(stringWrite.ToString());

??Response.End();

??GridView1.AllowPaging = true;

??BindData();

}

protected void paging(object sender,GridViewPageEventArgs e)

{

??GridView1.PageIndex = e.NewPageIndex;

??BindData();

}

?????ㄤ??㈢??浠g??涓?锛???浠?棣???灏?gridview缁?瀹??版??瀹????版??婧?涓?锛??跺????utton1??????锛??ㄦ?ュ??瀵煎?哄??XCEL??锛???浜?浠朵腑锛????ョ?稿?崇??浠g????杩???浣跨??esponse.AddHeader("content-disposition","attachment;filename= exporttoexcel.xls");涓???filename?ユ??瀹?灏?瑕?瀵煎?虹??excel????浠跺??锛?杩?????exporttoexcel.xls??瑕?娉ㄦ??????锛??变?gridview????瀹瑰???芥????椤垫?剧ず??锛???姝わ?杩????ㄦ??娆″?煎??xcel?讹???灏?gridview??allowpaging灞??ц?剧疆涓?false,?跺????杩?椤甸?㈡????瑰?瀵煎?哄???椤电??gridview??xcel涓?锛??????????拌?剧疆??llowpaging灞??с?????瑕?娉ㄦ??????锛?瑕???涓?涓?绌虹??VerifyRenderingInServerForm?规?锛?蹇?椤诲??锛?锛?浠ョ‘璁ゅ?ㄨ?琛??朵负??瀹???ASP.NET ???″?ㄦ?т欢????tmlForm ?т欢??

????浜???璁块??gridview涓?????绫绘?т欢

??????ridview涓?锛?缁?甯歌?璁块???朵腑????绫绘?т欢锛?姣?濡?dropdownlist,radiobutton,checkbox绛?锛?涓??㈠?绾充???ridview涓?璁块????绫绘?т欢???规???

????棣?????涓?濡?浣???ridview涓?璁块??dropdownlist?т欢????璁惧?ㄤ?涓?gridviw涓?锛?灞??扮??姣??¤?板?涓??介??瑕?渚??ㄦ?风?ㄤ??????╃???瑰?????dropdownlist?т欢涓?????瀹癸?????浠ヤ娇?ㄥ?涓?浠g??锛?褰??ㄦ?烽???╁ソgridview涓???dropdownlist?т欢????椤瑰??锛??瑰?绘????锛???绯荤????板?虹?ㄦ?峰?板????╀???浜?dropdownlist?т欢锛?骞惰??哄??浠????笺??

public DataSet PopulateDropDownList()

{

??SqlConnection myConnection =new SqlConnection(ConfigurationManager.ConnectionStrings["MyDatabase"].ConnectionString);

??SqlDataAdapter ad = new SqlDataAdapter("SELECT * FROM tblPhone", myConnection);

??DataSet ds = new DataSet();

??ad.Fill(ds, "tblPhone");

??return ds;

}

????涓??㈢??浠g??棣???灏??版??搴?涓?tblphone琛ㄧ???版??浠?ataset??褰㈠?杩??????跺???ㄩ〉?㈢??itemtemplate涓?锛?濡?涓?璁捐?★?

锛?ItemTemplate锛?

锛?asp:DropDownList ID="DropDownList1" runat="server" DataSource="锛?%# PopulateDropDownList() %锛?"

DataTextField="Phone" DataValueField = "PhoneID"锛?

锛?/asp:DropDownList锛?

锛?/ItemTemplate锛?

????杩???娉ㄦ??dropdownlist?т欢??datasource灞??х?瀹?浜?????杩?????dataset锛?璋??ㄤ?populatedropdownlist()?规?锛?,骞惰?娉ㄦ??璁剧疆濂?atatextfield??datavaluefield灞??с??

?????跺??锛???utton??浜?浠朵腑锛????ヤ互涓?浠g??锛?

protected void Button2_Click(object sender, EventArgs e)

{

??StringBuilder str = new StringBuilder();

??foreach (GridViewRow gvr in GridView1.Rows)

??{

????string selectedText = ((DropDownList)gvr.FindControl("DropDownList1")).SelectedItem.Text;

????str.Append(selectedText);

??}

??Response.Write(str.ToString());

}

????杩???锛???浠??ㄥ惊??锛??ヨ?峰?姣?涓?琛???dropdownlist?т欢???硷?骞朵?灏??兼坊???板??绗?覆涓?????杈??恒??

?????ョ??锛???浠??ョ??涓?濡?浣?璁块??gridview?т欢涓???checkbox?т欢??缁?甯稿??ridview?т欢涓?锛???瑕?缁??ㄦ?峰?椤归???╃?????斤?杩?涓??跺??灏遍??瑕?浣跨??heckbox?т欢??棣?????浠?寤虹??涓?涓?妯$????锛??朵腑??checkbox濡?涓?锛?

锛?asp:GridView ID="GridView1" runat="server" AllowPaging="True" AllowSorting="True"

AutoGenerateColumns="False" DataKeyNames="PersonID" DataSourceID="mySource" Width="366px" CellPadding="4" ForeColor="#333333" GridLines="None"锛?

锛?Columns锛?

锛?asp:CommandField ShowSelectButton="True" /锛?

锛?asp:BoundField DataField="PersonID" HeaderText="PersonID" InsertVisible="False"

ReadOnly="True" SortExpression="PersonID" /锛?

锛?asp:BoundField DataField="Name" HeaderText="Name" SortExpression="Name" /锛?

锛?asp:TemplateField HeaderText="Select"锛?

锛?ItemTemplate锛?

锛?asp:CheckBox ID="chkSelect" runat="server" /锛?

锛?/ItemTemplate锛?

锛?HeaderTemplate锛?

锛?/HeaderTemplate锛?

锛?/asp:TemplateField锛?

锛?/Columns锛?

锛?/asp:GridView锛?

????涓轰?绀烘???у?拌?茶В濡?浣?寰??扮?ㄦ?烽???╃??checkbox锛???浠ュ???涓?涓?????锛?褰??ㄦ?烽????ridview涓?????椤瑰??锛??硅?ユ????锛?????浠ヨ??虹?ㄦ?烽??浜???浜???椤癸??ㄦ??????CLICK浜?浠朵腑???ュ?涓?浠g??锛?

for (int i = 0; i 锛? GridView1.Rows.Count; i++)

{

??GridViewRow row = GridView1.Rows[i];

??bool isChecked = ((CheckBox) row.FindControl("chkSelect")).Checked;

??if (isChecked)

??{

????str.Append(GridView1.Rows[i].Cells[2].Text);

??}

}

Response.Write(str.ToString());

?????ヤ??ワ???浠?娣诲??涓?涓??ㄩ???????╂?锛?褰??ㄦ?烽???╄?ユ??讹???浠ュ?ㄩ?ㄩ????ridview涓???checkbox.棣?????浠???eadtemplate涓?濡?涓?璁捐?★?

锛?HeaderTemplate锛?

锛?input id="chkAll" 慰nclick="javascript:SelectAllCheckboxes(this);" runat="server" type="checkbox" /锛?

锛?/HeaderTemplate锛?

????javascript?ㄥ????浠g??濡?涓???绀猴?

锛?script language=javascript锛?

function SelectAllCheckboxes(spanChk){

??var oItem = spanChk.children;

??var theBox=(spanChk.type=="checkbox")?spanChk:spanChk.children.item[0];

??xState=theBox.checked;

??elm=theBox.form.elements;

??for(i=0;i锛?elm.length;i++)

??if(elm[i].type=="checkbox" && elm[i].id!=theBox.id)

??{

????if(elm[i].checked!=xState)

????elm[i].click();

??}

}

锛?/script锛?

?

继续阅读