C# 将网格导出到excel时替换复选框

C# 将网格导出到excel时替换复选框,c#,excel,gridview,C#,Excel,Gridview,我不想在将网格导出到excel时显示复选框。当所有子复选框始终存在时,不会显示I标头复选框..:(我调试并找到了gridview在每一行的名称中都有自己的id的原因,这样我的代码就无法检测到复选框 protected void Export_to_Excel(object sender, EventArgs e) { GridView1.AllowPaging = false; GridView1.DataSource = dtPatientList;

我不想在将网格导出到excel时显示复选框。当所有子复选框始终存在时,不会显示I标头复选框..:(我调试并找到了gridview在每一行的名称中都有自己的id的原因,这样我的代码就无法检测到复选框

 protected void Export_to_Excel(object sender, EventArgs e)
    {
        GridView1.AllowPaging = false;
        GridView1.DataSource = dtPatientList;
        GridView1.DataBind();
        System.Diagnostics.Debugger.Break();
        Response.Clear();
        Response.AddHeader("content-disposition", "attachment;filename=PatientSearchReport.xls");
        Response.ContentType = "application/vnd.xlsx";
        System.IO.StringWriter stringWrite = new System.IO.StringWriter();
        System.Web.UI.HtmlTextWriter htmlWrite = new HtmlTextWriter(stringWrite);
        GridView1.RenderControl(htmlWrite);
        string html2 = Regex.Replace(stringWrite.ToString(), @"(<input type=""image""\/?[^>]+>)", @"", RegexOptions.IgnoreCase);
        html2 = Regex.Replace(html2, @"(<input type=""checkbox""\/?[^>]+>)", @"", RegexOptions.IgnoreCase);
        html2 = Regex.Replace(html2, @"(<a \/?[^>]+>)", @"", RegexOptions.IgnoreCase);
        Response.Write(html2.ToString());
        Response.End();
        GridView1.AllowPaging = true;
        GridView1.DataSource = dtPatientList;
        GridView1.DataBind();
    }
protectedvoid导出到Excel(对象发送方,事件参数e)
{
GridView1.AllowPaging=false;
GridView1.DataSource=dtPatientList;
GridView1.DataBind();
System.Diagnostics.Debugger.Break();
Response.Clear();
AddHeader(“内容处置”、“附件;文件名=PatientSearchReport.xls”);
Response.ContentType=“application/vnd.xlsx”;
System.IO.StringWriter stringWrite=新的System.IO.StringWriter();
System.Web.UI.HtmlTextWriter htmlWrite=新的HtmlTextWriter(stringWrite);
GridView1.RenderControl(htmlWrite);
字符串html2=Regex.Replace(stringWrite.ToString(),@“(]+>),@“”,RegexOptions.IgnoreCase);
html2=Regex.Replace(html2,@“(]+>)”,@“”,RegexOptions.IgnoreCase);
html2=Regex.Replace(html2,@“(]+>)”,@“”,RegexOptions.IgnoreCase);
Write(html2.ToString());
Response.End();
GridView1.AllowPaging=true;
GridView1.DataSource=dtPatientList;
GridView1.DataBind();
}
试试看

protectedvoid导出到Excel(对象发送方,事件参数e)
{
//System.Diagnostics.Debugger.Break();
Response.Clear();
AddHeader(“内容处置”、“附件;文件名=PatientSearchReport.xls”);
Response.ContentType=“application/vnd.xlsx”;
System.IO.StringWriter stringWrite=新的System.IO.StringWriter();
System.Web.UI.HtmlTextWriter htmlWrite=新的HtmlTextWriter(stringWrite);
GridView1.RenderControl(htmlWrite);
字符串html2=Regex.Replace(stringWrite.ToString(),@“(]+>),@“”,RegexOptions.IgnoreCase);
html2=Regex.Replace(html2,@“(]+>)”,@“”,RegexOptions.IgnoreCase);
html2=Regex.Replace(html2,@“(]+>)”,@“”,RegexOptions.IgnoreCase);
Write(html2.ToString());
Response.End();
}

能否将复选框的ClientIdMode设置为静态,然后重试?
protected void Export_to_Excel(object sender, EventArgs e)
    {
        //System.Diagnostics.Debugger.Break();
        Response.Clear();
        Response.AddHeader("content-disposition", "attachment;filename=PatientSearchReport.xls");
        Response.ContentType = "application/vnd.xlsx";
        System.IO.StringWriter stringWrite = new System.IO.StringWriter();
        System.Web.UI.HtmlTextWriter htmlWrite = new HtmlTextWriter(stringWrite);  
        GridView1.RenderControl(htmlWrite);
        string html2 = Regex.Replace(stringWrite.ToString(), @"(<input type=""image""\/?[^>]+>)", @"", RegexOptions.IgnoreCase);
        html2 = Regex.Replace(html2, @"(<input class=""checkbox""\/?[^>]+>)", @"", RegexOptions.IgnoreCase);
        html2 = Regex.Replace(html2, @"(<a \/?[^>]+>)", @"", RegexOptions.IgnoreCase);
        Response.Write(html2.ToString());
        Response.End();
    }