C# 导出到excel是将复选框导出到excel而不是字符串 GridView grdExgratia=new GridView(); 数据集ds=(数据集)会话[“数据集”]; 尝试 { 如果(ds!=null&&ds.Tables[0].Rows.Count>0) { grdExgratia.DataSource=ds; grdExgratia.DataBind(); 对于(int i=0;i

C# 导出到excel是将复选框导出到excel而不是字符串 GridView grdExgratia=new GridView(); 数据集ds=(数据集)会话[“数据集”]; 尝试 { 如果(ds!=null&&ds.Tables[0].Rows.Count>0) { grdExgratia.DataSource=ds; grdExgratia.DataBind(); 对于(int i=0;i,c#,asp.net,sql-server-2008,datagridview,C#,Asp.net,Sql Server 2008,Datagridview,以上是我用于导出到excel的代码。但在导出数据时,最后一列是B_标志,该标志在数据库中是位数据类型,正在转换为复选框。在网格视图中显示数据时,它呈现为TRUE和FALSE。任何人都可以帮我将文本值导出到excel而不是复选框。因为您将网格渲染到excel,如果您想使其为真或假,您应该获取数据源并操作数据。例如,根据“chkaprove”布尔值为“true”和“false”添加新行,然后导出。检查您的control@reds我检查了一下,仍然没有工作。您可以建议其他方法吗?您的StringWri

以上是我用于导出到excel的代码。但在导出数据时,最后一列是B_标志,该标志在数据库中是位数据类型,正在转换为复选框。在网格视图中显示数据时,它呈现为TRUE和FALSE。任何人都可以帮我将文本值导出到excel而不是复选框。

因为您将网格渲染到excel,如果您想使其为真或假,您应该获取数据源并操作数据。例如,根据“chkaprove”布尔值为“true”和“false”添加新行,然后导出。

检查您的control@reds我检查了一下,仍然没有工作。您可以建议其他方法吗?您的StringWriter strwritter与for循环没有任何关系,您也没有任何StringBuilder。。
GridView grdExgratia = new GridView();
DataSet ds = (DataSet)Session["DataSet"];

try
{
    if (ds != null && ds.Tables[0].Rows.Count > 0)
    {
        grdExgratia.DataSource = ds;
        grdExgratia.DataBind();

        for (int i = 0; i < grdExgratia.Rows.Count; i++)
        {
            DataGridItem dataItem = dgExgratia.Items[i];
            CheckBox chkApprove = (CheckBox)dataItem.FindControl("chkApprove");
            Label lblB_FLAG = (Label)dataItem.FindControl("lblB_FLAG");

            if (chkApprove.Enabled== true)
            {
                lblB_FLAG.Text = "Paid";
            }
            else
            {
            }
        }

        Response.Clear();
        Response.Buffer = true;
        Response.ClearContent();
        Response.ClearHeaders();
        StringWriter strwritter = new StringWriter();
        HtmlTextWriter htmltextwrtter = new HtmlTextWriter(strwritter);
        Response.ContentType = "application/vnd.ms-excel";
        Response.AddHeader("Content-Disposition", "attachment;filename= Exgratia_Employees.xls");
        grdExgratia.RenderControl(htmltextwrtter);
        Response.Write(strwritter.ToString());
        Response.End();
    }
}