http://community.csdn.net/Expert/topic/5558/5558008.xml?temp=.6493799
用幕白兄的:
public static void ExportExcel(ref System.Web.UI.WebControls.Repeater rp, string strFileName)
{
//DataTable dt = (DataTable)this.Session["GridToExcel"];
//if (dt==null) return;
strFileName= System.Web.HttpUtility.UrlEncode(strFileName,System.Text.Encoding.UTF8);
//dtgList.DataSource = DataClass.ExecuteDataTable(dtgList.strSQL).DefaultView;
//dtgList.EnableViewState =false;
System.Web.HttpContext.Current.Response.Clear();
System.Web.HttpContext.Current.Response.Buffer = true;
System.Web.HttpContext.Current.Response.Charset = "gb2312";
System.Web.HttpContext.Current.Response.AppendHeader("Content-Disposition", "online; filename=" + strFileName + ".xls");
System.Web.HttpContext.Current.Response.ContentEncoding = System.Text.Encoding.GetEncoding("gb2312");
System.Web.HttpContext.Current.Response.ContentType = "application/ms-excel";
//System.Web.HttpContext.Current.EnableViewState = false;
System.Globalization.CultureInfo myCItrad = new System.Globalization.CultureInfo("zh-CN",true);
System.IO.StringWriter oStringWriter = new System.IO.StringWriter(myCItrad);
System.Web.UI.HtmlTextWriter oHtmlTextWriter = new System.Web.UI.HtmlTextWriter(oStringWriter);
//oHtmlTextWriter.Write("<table width='100%' border='1'>");
rp.RenderControl(oHtmlTextWriter);
//oHtmlTextWriter.Write("</table>");
rp = null;
System.Web.HttpContext.Current.Response.Write(oStringWriter.ToString().Replace("<td","<td STYLE='MSO-NUMBER-FORMAT:\\@'"));
System.Web.HttpContext.Current.Response.Buffer = false;
System.Web.HttpContext.Current.Response.End();
}
---------------------------
可以生成
但是当我的repeater中包括了控件的时候就会出错:
类型“CheckBox”的控件“rp_ctl01_CheckBox3”必须放在具有 runat=server 的窗体标记内。谢谢
用幕白兄的:
public static void ExportExcel(ref System.Web.UI.WebControls.Repeater rp, string strFileName)
{
//DataTable dt = (DataTable)this.Session["GridToExcel"];
//if (dt==null) return;
strFileName= System.Web.HttpUtility.UrlEncode(strFileName,System.Text.Encoding.UTF8);
//dtgList.DataSource = DataClass.ExecuteDataTable(dtgList.strSQL).DefaultView;
//dtgList.EnableViewState =false;
System.Web.HttpContext.Current.Response.Clear();
System.Web.HttpContext.Current.Response.Buffer = true;
System.Web.HttpContext.Current.Response.Charset = "gb2312";
System.Web.HttpContext.Current.Response.AppendHeader("Content-Disposition", "online; filename=" + strFileName + ".xls");
System.Web.HttpContext.Current.Response.ContentEncoding = System.Text.Encoding.GetEncoding("gb2312");
System.Web.HttpContext.Current.Response.ContentType = "application/ms-excel";
//System.Web.HttpContext.Current.EnableViewState = false;
System.Globalization.CultureInfo myCItrad = new System.Globalization.CultureInfo("zh-CN",true);
System.IO.StringWriter oStringWriter = new System.IO.StringWriter(myCItrad);
System.Web.UI.HtmlTextWriter oHtmlTextWriter = new System.Web.UI.HtmlTextWriter(oStringWriter);
//oHtmlTextWriter.Write("<table width='100%' border='1'>");
rp.RenderControl(oHtmlTextWriter);
//oHtmlTextWriter.Write("</table>");
rp = null;
System.Web.HttpContext.Current.Response.Write(oStringWriter.ToString().Replace("<td","<td STYLE='MSO-NUMBER-FORMAT:\\@'"));
System.Web.HttpContext.Current.Response.Buffer = false;
System.Web.HttpContext.Current.Response.End();
}
---------------------------
可以生成
但是当我的repeater中包括了控件的时候就会出错:
类型“CheckBox”的控件“rp_ctl01_CheckBox3”必须放在具有 runat=server 的窗体标记内。谢谢
解决方案 »
- 无级菜单的取全部子 节点 和前端绑定问题
- 江湖救急打印问题,十万火急
- 如何使DropDownList中的一项显示出来,但又不能被选中
- MYsql乱码问题~~~在线等!
- Access数据库出现“所有记录中均未找到搜索关键字。”
- TemplateColumn求助。。
- 如何打印datagrid显示的内容?
- 调用Request.InputStream,怎么得到的是空?
- 图片正则 <img src=http://images.gg-art.com/auction/images1/13/13325.jpg>
- 在ASP.NET中用HttpPostedFile.SaveAs(FileName)方法上传文件,文件大小是否有限制?
- |M| 第二贴:如何在ASP.NET 中创建和删除SQL作业
- VS2005怎么把成员和角色的管理配置成ACCESS的?
public static string RenderHtml(Control c){
StringBuilder b = new StringBuilder();
StringWriter w = new StringWriter(b);
HtmlTextWriter htw = new HtmlTextWriter(w);
c.RenderControl(htw);
c.Dispose();
return b.ToString();
}下载:
public static void ExportString(string s,string fileName){
HttpResponse response = HttpContext.Current.Response;
response.Clear();
response.ContentEncoding = System.Text.Encoding.GetEncoding("gb2312");
response.AppendHeader("Content-Disposition","attachment; filename="+fileName);
response.ContentType = GetMime(fileName);
StreamWriter writer = new StreamWriter(response.OutputStream,response.ContentEncoding);
try {
writer.Write(s);
writer.Flush();
}
finally {
writer.Close();
response.End();
}
}
谁帮我改一下:
public void ExportExcel(ref System.Web.UI.WebControls.Repeater rp, string strFileName)
{
strFileName = System.Web.HttpUtility.UrlEncode(strFileName, System.Text.Encoding.UTF8);
System.Web.HttpContext.Current.Response.Clear();
System.Web.HttpContext.Current.Response.Buffer = true;
System.Web.HttpContext.Current.Response.Charset = "gb2312";
System.Web.HttpContext.Current.Response.AppendHeader("Content-Disposition", "online; filename=" + strFileName + ".xls");
System.Web.HttpContext.Current.Response.ContentEncoding = System.Text.Encoding.GetEncoding("gb2312");
System.Web.HttpContext.Current.Response.ContentType = "application/ms-excel";
System.Globalization.CultureInfo myCItrad = new System.Globalization.CultureInfo("zh-CN", true);
System.IO.StringWriter oStringWriter = new System.IO.StringWriter(myCItrad);
System.Web.UI.HtmlTextWriter oHtmlTextWriter = new System.Web.UI.HtmlTextWriter(oStringWriter);
rp.RenderControl(oHtmlTextWriter);
rp = null;
System.Web.HttpContext.Current.Response.Write(oStringWriter.ToString().Replace("<td", "<td STYLE='MSO-NUMBER-FORMAT:\\@'"));
System.Web.HttpContext.Current.Response.Buffer = false;
System.Web.HttpContext.Current.Response.End();
}
----------------------------------
但是当我的repeater中包括了控件的时候就会出错:
类型“CheckBox”的控件“rp_ctl01_CheckBox3”必须放在具有 runat=server 的窗体标记内。
{
//base.VerifyRenderingInServerForm(control);
}
把这个放在页面的代码中