Ошибка экспорта в столбец Excel Gridview с текстовым полем - PullRequest
0 голосов
/ 08 марта 2011

У меня есть Gridview, как эта картина.Легко в моей последней колонке, я веду заметку для этой строки.(Просто я сделал это, отредактировал, выбрал, обновил классические свойства gridview.)

enter image description here

Как вы можете видеть, мой последний столбец имеет Textbox (Multiline)

Вот мой последний столбец кода вида сетки;

<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>

А затем я экспортирую этот Gridview, чтобы преуспеть с этим кодом;

protected void LinkButton1_Click(object sender, EventArgs e)
  {
    Response.Clear();
    Response.AddHeader("content-disposition", "attachment;filename=TahTakip.xls");
    Response.Charset = "";


    Response.ContentType = "application/vnd.xls";
    System.IO.StringWriter stringWrite = new System.IO.StringWriter();
    System.Web.UI.HtmlTextWriter htmlWrite = new HtmlTextWriter(stringWrite);
    GridView1.RenderControl(htmlWrite);
    Response.Write(stringWrite.ToString());
    Response.End();
  }

Нет проблемс этого шага.Проблема в том, что когда я открываю этот файл Excel, столбец NOT отличается от других столбцов.У него есть Textbox как эта картинка;

enter image description here

Я не хочу быть Textbox в моем Excel файле.Просто хочу нормальную ячейку со значением НЕ, как в левом столбце.

Как я могу это сделать?

Best Regars,

Soner

1 Ответ

1 голос
/ 08 марта 2011

вам нужно экспортировать данные вместо вашего 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();
}

обратите внимание, что в реальной сетке у меня есть кнопка с изображением, и когда я экспортирую, я снова получаю данные из БД

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...