Экспорт GridView в XLS --- Проблема с подкачкой - PullRequest
1 голос
/ 18 января 2012

У меня есть GridView, и я собираюсь экспортировать его в файл .xls. Пейджинг включен в этом виде сетки. Коды, которые я сейчас использую, могут экспортировать только первую страницу таблицы.

   Response.Clear();
   Response.Buffer = true;

   Response.AddHeader("content-disposition","attachment;filename=DataTable.xls");
   Response.Charset = "";
   Response.ContentType = "application/vnd.ms-excel";

   StringWriter sw = new StringWriter();
   HtmlTextWriter hw = new HtmlTextWriter(sw);

   //As you notice, below I tried to disable the paging yet it's unsuccessful
   //FYI I am able to really prevent first column, header row, and footer row to
   //be exported through this

   gvGridView.Columns[0].Visible = false;
   gvGridView.HeaderRow.Visible = false;
   gvGridView.FooterRow.Visible = false;
   gvGridView.AllowPaging = false;

   for (int i = 0; i < gvGridView.Rows.Count; i++)
   {
       gvGridView.Rows[i].Attributes.Add("class", "textmode");
   }
   gvGridView.RenderControl(hw);

   string style = @"<style> .textmode { mso-number-format:\@; } </style>";
   Response.Write(style);
   Response.Output.Write(sw.ToString());
   Response.Flush();
   Response.End();

Я заметил, что этот вопрос задавался ранее, но правильного ответа не было.

Любая помощь приветствуется.

Спасибо в

Ответы [ 2 ]

1 голос
/ 18 января 2012

Просто создайте GridView.DataBind () после изменения свойства AllowPaging.

1 голос
/ 18 января 2012

Вам следует перепривязать GridView после , который вы указали gvGridView.AllowPaging = false;, а затем экспортировать. В противном случае .RenderControl(hw); будет отображать только текущую выбранную страницу GridView.

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