如何导出一个GridView控件到Excel中DotNetNuke的? [英] How do I export a Gridview Control to Excel in DotNetNuke?
本文介绍了如何导出一个GridView控件到Excel中DotNetNuke的?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
有没有用这个,因为使用℃的替代;形式=服务器方式>
将导致500错误
Is there an alternative to using this since using a <form runat="server">
will cause a 500 error.
public override void VerifyRenderingInServerForm(Control control)
{
/* Verifies that the control is rendered */
}
EDITED 的
从@HansDerks协助我最终使用以下(提供的解决方案的爵士情调的版本):
With the assistance from @HansDerks I ended up using the following(a jazzed up version of the solution provided.):
protected void Export_Click(object sender, System.EventArgs e)
{
StringWriter writer = new StringWriter();
HtmlTextWriter htmlWriter = new HtmlTextWriter(writer);
GridView gridView = new GridView();
gridView.DataSource = MySqlDataSource;
gridView.AutoGenerateColumns = true;
gridView.DataBind();
gridView.HeaderRow.Style.Add("background-color", "#003c74");
gridView.HeaderRow.Style.Add("color", "#ffffff");
for (int i = 0; i < gridView.Rows.Count; i++)
{
GridViewRow row = gridView.Rows[i];
//Change Color back to white
row.BackColor = System.Drawing.Color.White;
//Apply text style to each Row
row.Attributes.Add("class", "textmode");
//Apply style to Individual Cells of Alternating Row
if (i % 2 != 0)
{
row.BackColor = System.Drawing.Color.AliceBlue;
}
}
gridView.RenderControl(htmlWriter);
htmlWriter.Close();
Response.Clear();
Response.AddHeader("content-disposition", "attachment;filename=filename.xls");
Response.Charset = "";
Response.Write(writer.ToString());
Response.End();
}
我希望你们会发现它是有用的。谢谢大家!
I hope you guys will find it useful. Thanks everyone!
推荐答案
如果您有数据源可以试试这个(替换数据表与相关数据源)
If you have the datasource you can try this (replace datatable with relevant datasource)
private void DataTableToExcel(DataTable dataTable)
{
StringWriter writer = new StringWriter();
HtmlTextWriter htmlWriter = new HtmlTextWriter(writer);
GridView gridView = new GridView();
gridView.DataSource = dataTable;
gridView.AutoGenerateColumns = true;
gridView.DataBind();
gridView.RenderControl(htmlWriter);
htmlWriter.Close();
Response.Clear();
Response.AddHeader("content-disposition", "attachment;filename=FileName.xls");
Response.Charset = "";
Response.Write(writer.ToString());
Response.End();
}
这篇关于如何导出一个GridView控件到Excel中DotNetNuke的?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文