Как ускорить экспорт .NET DataGrid в Excel?
Я использую следующую функцию для экспорта информации из моего DataGrid в Excel. Но когда он спрашивает меня, хочу ли я сохранить или экспортировать, это займет слишком много времени. Кто-нибудь знает, почему / кто-то получил подобный опыт?
void ExportToExcel3() { Response.Clear(); Response.AddHeader("content-disposition", "attachment;filename=FileName.xls"); Response.Charset = ""; Response.ContentType = "application/vnd.xls"; System.IO.StringWriter stringWrite = new System.IO.StringWriter(); System.Web.UI.HtmlTextWriter htmlWrite = new HtmlTextWriter(stringWrite); GridView2.RenderControl(htmlWrite); Response.Write(stringWrite.ToString()); Response.End(); }
- экспорт html-таблицы с jquery
- Как создать новый слайд PowerPoint с текстовыми данными из Excel с помощью VBA?
- Как экспортировать текстовые столбцы 'date lookalike' в csv
- Экспорт Excel не работает в Odoo
- Экспорт ReportViewer в Excel с паролем
- Экспорт растрового изображения из ячеек Excel
- экспортировать GridView в Excel # 2
- экспортировать таблицу html в Excel с помощью «Datatables»
- Экспорт в Excel
- Можно ли экспортировать в существующий файл Excel?
- Лучший способ превратить выбранные данные в таблицу Excel, используя asp.net
- ASP.NET C # Excel Exporter с несколькими листами Excel
- Комбинируйте файлы csv разных форматов и сделайте в одном превосходстве с разными листами
Рассматривая производительность вашего решения, важно понять, что вы фактически не экспортируете DataGrid в Excel: вы на самом деле записываете его содержимое как HTML, а затем «обманываете» Windows, открывая этот HTML, используя Excel. Excel затем преобразует таблицу HTML в рабочий лист, а также может.
Узким местом здесь является, скорее всего, процесс преобразования Excel: особенно на больших таблицах, синтаксический анализ HTML – это большая работа, вовлекающая множество медленных догадок о типах данных и конверсиях. Возможно, HTML настолько громоздкий, что загрузка его с сервера на клиента также вызывает заметную задержку.
Поскольку вы не контролируете код, связанный с любым из этих узких мест, вы не можете их устранить, кроме как избежать их вообще, переключившись на более эффективный формат, то есть на встроенный Excel вместо HTML.
Есть несколько библиотек .NET, которые могут помочь вам в этом, как коммерческом, так и бесплатном . Похоже, что поисковая система Google найдет множество других альтернатив. Пожалуйста, обратите внимание, что ваш серверный код станет значительно более активным: вам нужно будет настроить структуру / форматирование электронной таблицы и выполнить цикл DataGrid для экспорта каждой строки. Но конечный результат, файл XLS, будет более компактным и эффективным для него, а также будет более полезным (то есть редактируемым) для ваших пользователей, чем ваш текущий экспорт HTML.