Простой способ экспорта HTML-таблицы в файл Excel в ASP.NET? - PullRequest
3 голосов
/ 24 апреля 2009

Имейте отчет, сгенерированный из БД, хотите добавить кнопку экспорта, чтобы они могли получить один и тот же отчет в удобочитаемом листе некоторого типа. Ключевым моментом здесь является простота реализации, поэтому CSV лучше, чем XLS, если проще.

Ответы [ 2 ]

4 голосов
/ 24 апреля 2009

Excel на самом деле несколько хорош в чтении HTML. Особенно, если ваш HTML содержит только одну таблицу. Если вы хотите указать браузеру открыть файл в Excel, вы можете использовать

Response.ContentType = "application/vnd.ms-excel"

Это говорит браузеру открывать документ в Excel, а не просто отображать его самому. Хотя есть несколько проблем. Я не думаю, что это сработает, если кто-то захочет открыть его с помощью OO.org calc. Кроме того, при попытке сохранить его, он никогда не преобразует файл в настоящий файл Excel, если пользователь не изменяет тип файла. Если это просто приложение для интрасети для вашей организации, это может не быть проблемой. Плюсом является то, что вы можете использовать цвета, границы и даже формулы, чего нельзя сделать при использовании прямого CSV.

0 голосов
/ 24 апреля 2009

Вы можете использовать HtmlTextWriter:

  System.IO.StringWriter stringWriter = new System.IO.StringWriter();

  System.Web.UI.HtmlTextWriter htmlWriter = new HtmlTextWriter(stringWriter);

  grid.RenderControl(htmlWriter);

где grid является объектом DataGrid. Вы можете использовать и другие типы элементов управления.

...