C# 使用文本框将错误导出到Excel Gridview列

C# 使用文本框将错误导出到Excel Gridview列,c#,.net,asp.net,excel,gridview,C#,.net,Asp.net,Excel,Gridview,我有一个Gridview像这张图片。在我的上一篇专栏文章中,我很轻松地为那一行做了一个记录。(简单地说,我让它编辑、选择、更新gridview经典属性。) 如您所见,我的最后一列有一个文本框(多行) 这是我的最后一列gridview代码 <EditItemTemplate> <asp:TextBox ID="txtTNOT" runat="server" Height="35" TextMode="MultiLine" DataSourceID="Sq

我有一个
Gridview
像这张图片。在我的上一篇专栏文章中,我很轻松地为那一行做了一个记录。(简单地说,我让它编辑、选择、更新gridview经典属性。)

如您所见,我的最后一列有一个
文本框
多行

这是我的最后一列gridview代码

<EditItemTemplate>
            <asp:TextBox ID="txtTNOT" runat="server" Height="35" TextMode="MultiLine" DataSourceID="SqlDataSource8"></asp:TextBox>
            <asp:SqlDataSource ID="SqlDataSource8" runat="server" 
              ConnectionString="<%$ ConnectionStrings:SqlServerCstr %>" 
              SelectCommand="SELECT [T_NOT] FROM [TAKIP] WHERE T_HESAP_NO = @T_HESAP_NO ">
                <SelectParameters>
                  <asp:Parameter Name="T_HESAP_NO" Type="String" />
                </SelectParameters>
            </asp:SqlDataSource>
            </EditItemTemplate>
这一步之后就没有问题了。问题是当我打开这个excel文件时,
NOT
列与其他列不同。它有一个
文本框
,如图所示

我不想成为我的
Excel
文件中的
Textbox
。只需要一个普通的单元格,其值与左列不同

我该怎么做

最佳富豪


Soner

您需要导出datatable,而不是GridView,因为GridView中有无法导出到excel的控件

编辑:你可以做喜欢的事

protected void btnExportExl_Click(object sender, EventArgs e)
{
    StringWriter sw = new StringWriter();
    HtmlTextWriter htw = new HtmlTextWriter(sw);
    string attachment = "attachment; filename=BusinessUnit.xls";
    Response.ClearContent();
    Response.AddHeader("content-disposition", attachment);

    GridView grd = new GridView();
    grd.DataSource = datatable.DefaultView; // you get the datatable from DB that will not have controls!!!
    grd.DataBind();

    grd.RenderControl(htw);
    Response.Write(sw.ToString());
    Response.Flush();
    Response.End();
}

请注意,在实际的网格中,我有一些图像按钮,当我导出时,我再次从DB

@Muhammed获取数据表,但我有一个gridview。你能给我举个例子吗?导出时是否可以删除Gridview中的所有文本框?这是不可能的吗?在导出时需要迭代gridview。您必须从特定列中删除控件并替换这些列中的文本。所以你会得到你的一切things@Muhammed我可以用(int i=0;iprotected void btnExportExl_Click(object sender, EventArgs e) { StringWriter sw = new StringWriter(); HtmlTextWriter htw = new HtmlTextWriter(sw); string attachment = "attachment; filename=BusinessUnit.xls"; Response.ClearContent(); Response.AddHeader("content-disposition", attachment); GridView grd = new GridView(); grd.DataSource = datatable.DefaultView; // you get the datatable from DB that will not have controls!!! grd.DataBind(); grd.RenderControl(htw); Response.Write(sw.ToString()); Response.Flush(); Response.End(); }