如何把DataGrid里的数据导出到excel文件中去?
请高手指教……
请高手指教……
解决方案 »
- 存储过程like语句
- Asp.Net中有没有类似SQL事务的事件处理机制
- CheckBox事件回传问题??
- vs2010设计模式如何和firefox效果一致?
- 如何记录每次访问数据库时间(开始、结束)、页面加载时间(开始、结束),并将结果保存到一个日志文件中。
- 控件用了skin,如何实现meta:resourcekey=国际化,将 meta:resourcekey=写在skin里,不起作用
- 关于动态生成表格,并在单元格里放入控件的问题。
- asp.net中下载文件是为何显示错误的文件名?
- 怎么在namespace里面读取cookie?
- 各位老大,大送分了(急)
- 关于Active Directory的问题,求救大家
- 请问session在SQLServer状态下,.net 2003 和 .net 2005 的程序可不可以共享Session
{
HttpContext.Current.Response.Charset ="UTF-8";
HttpContext.Current.Response.ContentEncoding =System.Text.Encoding.Default;
HttpContext.Current.Response.ContentType ="application/ms-excel";
HttpContext.Current.Response.AppendHeader("Content-Disposition","attachment;filename="+""+FileName+".xls");
ctl.Page.EnableViewState =false;
System.IO.StringWriter tw = new System.IO.StringWriter();
System.Web.UI.HtmlTextWriter hw = new System.Web.UI.HtmlTextWriter(tw);
ctl.RenderControl(hw);
HttpContext.Current.Response.Write(tw.ToString());
HttpContext.Current.Response.End();
}
http://www.aspxboy.com/private/showthread.asp?threadid=341
报错信息是:
类型“ImageButton”的控件“DataGrid1__ctl2_ImageButton1”必须放在具有 runat=server 的窗体标记内。
这是什么问题啊?我的控件已经在runat = server的窗体标记内了啊。
{
HttpContext.Current.Response.Charset ="UTF-8";
HttpContext.Current.Response.ContentEncoding =System.Text.Encoding.Default;
HttpContext.Current.Response.ContentType ="application/ms-excel";
HttpContext.Current.Response.AppendHeader("Content-Disposition","attachment;filename="+""+FileName+".xls");
ctl.Page.EnableViewState =false;
System.IO.StringWriter tw = new System.IO.StringWriter();
System.Web.UI.HtmlTextWriter hw = new System.Web.UI.HtmlTextWriter(tw);
ClearControls(ctl);
ctl.RenderControl(hw);
HttpContext.Current.Response.Write(tw.ToString());
HttpContext.Current.Response.End();
}/// <summary>
/// 清除控件中的所有控件,以便导出Excel
/// </summary>
/// <param name="control"></param>
private void ClearControls(Control control)
{
for (int i = control.Controls.Count - 1; i >= 0; i--)
{
ClearControls(control.Controls[i]);
} if (!(control is TableCell))
{
if (control.GetType().GetProperty("SelectedItem") != null)
{
LiteralControl literal = new LiteralControl();
control.Parent.Controls.Add(literal);
try
{
literal.Text = (string)control.GetType().GetProperty("SelectedItem").GetValue(control, null);
}
catch
{
}
control.Parent.Controls.Remove(control);
}
else if (control.GetType().GetProperty("Text") != null)
{
LiteralControl literal = new LiteralControl();
control.Parent.Controls.Add(literal);
literal.Text = (string)control.GetType().GetProperty("Text").GetValue(control, null);
control.Parent.Controls.Remove(control);
}
}
return;
}