Я хочу вывести некоторые динамические данные с веб-сайта ASP.NET в Excel. Я обнаружил, что самый простой способ, который не требует использования Excel XML или установки Excel на сервер, - это вывод данных в виде таблицы и указание application / vnd.ms-excel type .
Проблема в том, что когда я делаю это и пытаюсь открыть файл в Excel Viewer, я получаю следующее сообщение об ошибке:
Microsoft Excel Viewer не может открыть
файлы этого типа.
Тогда ничего не открывается.
Даже самый простой код, такой как:
protected void Page_Load(object sender, EventArgs e)
{
Response.Clear();
Response.Buffer = true;
HttpContext.Current.Response.AddHeader("content-disposition", "attachment; filename=Example.xls");
Response.ContentType = "application/vnd.ms-excel";
StringWriter stringWriter = new System.IO.StringWriter();
HtmlTextWriter htmlTextWriter = new System.Web.UI.HtmlTextWriter(stringWriter);
dataGrid.RenderControl(htmlTextWriter);
Response.Write("<html><body><table><tr><td>A</td><td>B</td></tr><tr><td>C</td><td>D</td></tr></table></body></html>");
Response.End();
}
выдает ту же ошибку.
Что может вызвать такое поведение? Это потому, что Viewer не может читать такие файлы, а полная версия Excel может?