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;i
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();
}