Franco Cipriano Ответов: 4

Экспорт таблицы в Excel ASP.net с#


Привет,

Я пытаюсь экспортировать данные gridview в excel. Я попробовал использовать код, который получил из интернета, и, судя по комментариям, он работает на них. Но у меня есть excel 2010/2007

string fileName = "attachment;filename= DetailReport.xlsx";
            Response.Clear();
            Response.AddHeader("content-disposition", fileName);
            Response.Charset = "";
            Response.Cache.SetCacheability(HttpCacheability.NoCache);
            Response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";
            System.IO.StringWriter stringWrite = new System.IO.StringWriter();
            System.Web.UI.HtmlTextWriter htmlWrite = new HtmlTextWriter(stringWrite);
            grdExcel.RenderControl(htmlWrite);
            Response.Write(stringWrite);
            Response.End();


Файл загружается, но когда я его открываю, то получаю сообщение об ошибке, что файл находится в другом формате. Есть идеи? Я искал в интернете, и нет никакого четкого решения, которое я могу получить.

Спасибо

Franco Cipriano

Привет,

Я попробовал этот код:

Ответ.Четкий();
Ответ.Буфер = true;
Ответ.AddHeader("content-disposition",
"привязанность;filename=GridViewExport.xls");
Ответ.Кодировка = "";
Ответ.Значение contentType = "применение/донгов.в MS-Excel с";
StringWriter sw = новый StringWriter();
HtmlTextWriter hw = новый HtmlTextWriter(sw);
грдексель.AllowPaging = false;
грдексель.Привязку();
грдексель.RenderControl(hw);
Ответ.Писать(ув.Метод toString());
Ответ.Конец();

а еще я следовал инструкции по удлинительному закаливанию. смотрите эту статью: http://blogs.msdn.com/b/vsofficedeveloper/archive/2008/03/11/excel-2007-extension-warning.aspx

.теперь файлы могут открываться, и это не дает мне ошибки..проблема теперь в том, что он не заполнял строки и столбцы, которые находятся в gridview, это в основном просто пустой лист

Member 9581488

где вы привязываете свой gridview к уважаемому источнику данных?

4 Ответов

Рейтинг:
2

vinay.Singh

Привет проверьте приведенное ниже решение для правильного решения

http://www.dotnetpools.com/2012/09/gridview-export-to-excel-in-aspnet-c.html[^]


Рейтинг:
1

Franco Cipriano

Привет,

Я следовал этому решению, и оно все еще дает мне поврежденный файл

Avik Ghosh22

повторно вызовите microsoft office...

Рейтинг:
1

Member 9581488

string fileName = "attachment;filename= DetailReport.xlsx";
     Response.Clear();
     Response.AddHeader("content-disposition", fileName);
     Response.Charset = "";
     Response.Cache.SetCacheability(HttpCacheability.NoCache);
     Response.ContentType = "application/vnd.ms-excel";
     System.IO.StringWriter stringWrite = new System.IO.StringWriter();
     System.Web.UI.HtmlTextWriter htmlWrite = new HtmlTextWriter(stringWrite);
     grdExcel.RenderControl(htmlWrite);
     Response.Output.Write(stringWrite.ToString());
     Response.Flush();
     Response.End();



Попробуйте сделать это с помощью приведенного выше кода.
Надеюсь, это поможет.


Franco Cipriano

Привет,

Я все еще получаю поврежденный файл

Aroon Kumar

Мне нужно изменить расширение с xlsx на xls, а затем только его извилистость

Рейтинг:
1

samadhan49

Ответ.ClearContent();
Ответ.Буфер = true;
Ответ.AddHeader("content-disposition", string.Формат("attachmant;filename={0}", "excel.xls"));
Ответ.ContentType = "приложение/ms-excel";
StringWriter sw = новый StringWriter();
HtmlTextWriter htw = новый HtmlTextWriter(sw);
Управления gridview1.AllowPaging = false;
Управления gridview1.RenderControl(HTW по);
Ответ.Писать(ув.Метод toString());
Ответ.Конец();





Это работает!!!


CHill60

Правда, немного поздно.