Использовал этот метод для экспорта файла Excel:
HttpContext.Current.Response.Clear();
HttpContext.Current.Response.AddHeader("content-disposition", string.Format("attachment; filename={0}", "Single_Raw.xls"));
HttpContext.Current.Response.ContentType = "application/vnd.ms-excel";
using (StringWriter sw = new StringWriter())
{
using (HtmlTextWriter htw = new HtmlTextWriter(sw))
{
// some code
HttpContext.Current.Response.Write(sw.ToString());
HttpContext.Current.Response.End();
}
}
Но у этого метода есть огромное ограничение, Excel выводит это предупреждение каждый раз, когда я открываю файл Excel:
The file you are trying to open < > is in a different format than specified by the file extension. Verify that the file is not corrupted and is from a trusted source before opening the file. Do you want to open the file now?
Второй предложенный мне метод - это использование Interop, но были и некоторые ограничения:
http://www.gemboxsoftware.com/LA/Excel-Automation-and-Excel-Interop.htm
Одним из них является то, что все компьютеры клиента должны иметь одинаковую версию Excel.
Теперь я отчаянно ищу другие методы, даже если это означает использование стороннего плагина. Пока это бесплатно и может быть использовано на веб-сайте компании.