Я могу генерировать файл excel из asp: table, но после генерации файла excel при открытии файла он дает предупреждение. файл, который вы пытаетесь открыть в другом формате, чем указано расширение файла я нашел решение этого предупреждения по этой ссылке http://www.aspsnippets.com/Articles/Solution-ASPNet-GridView-Export-to-Excel-The-file-you-are-trying-to-open-is-in-a-different-format-than-specified-by-the-file-extension.aspxПреобразование asp: Таблица в формат excel
так я использовал ClosedXML библиотеки, но при добавлении данных в Excel лист это прием датируемый , только формат набора данных, и я получил данные в строчном формате, поэтому он создает пустой лист excel. проверьте код, который я попробовал.
LoadDetailsToTable();
System.IO.StringWriter sw = new System.IO.StringWriter();
System.Web.UI.HtmlTextWriter hw = new HtmlTextWriter(sw);
tbl_loctbl.RenderControl(hw);
using (XLWorkbook wb = new XLWorkbook())
{
var ws = wb.Worksheets.Add("asd");
ws.Cell(2, 1).InsertTable(sw.ToString());
HttpContext.Current.Response.Clear();
HttpContext.Current.Response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";
HttpContext.Current.Response.AddHeader("content-disposition", String.Format(@"attachment;filename=newfile.xlsx"));
using (MemoryStream MyMemoryStream = new MemoryStream())
{
wb.SaveAs(MyMemoryStream);
MyMemoryStream.WriteTo(HttpContext.Current.Response.OutputStream);
MyMemoryStream.Close();
}
HttpContext.Current.Response.End();
}
Здесь LoadDetailsToTable() Данные функции нагрузки к осине таблице. tbl_loctbl - это идентификатор таблицы.