Проблема в файле excel, экспортированном через asp.net с#
Я использую этот код для экспорта данных GridView в excel, код работает нормально, но файл Excel не поддерживает некоторые операции; если я печатаю этикетки из этого файла, он показывает "Ошибка: внешняя таблица не находится в ожидаемом формате"
Что же делать???
Есть ли какой-либо способ экспортировать Excel просто или без какого-либо форматирования, поскольку excel имеет такое же форматирование, как и GridView...
Что я уже пробовал:
protected void btnExcel1_Click(object sender, ImageClickEventArgs e) { Response.ClearContent(); Response.Buffer = true; Response.AddHeader("content-disposition", string.Format("attachment; filename={0}", "ExcelSheet.xls")); Response.ContentType = "application/ms-excel"; StringWriter sw = new StringWriter(); HtmlTextWriter htw = new HtmlTextWriter(sw); GridView1.AllowPaging = false; //Change the Header Row back to white color GridView1.HeaderRow.Style.Add("background-color", "#FFFFFF"); //Applying stlye to gridview header cells for (int i = 0; i < GridView1.HeaderRow.Cells.Count; i++) { GridView1.HeaderRow.Cells[i].Style.Add("background-color", "#507CD1"); } int j = 1; //This loop is used to apply stlye to cells based on particular row foreach (GridViewRow gvrow in GridView1.Rows) { gvrow.BackColor = Color.White; if (j <= GridView1.Rows.Count) { if (j % 2 != 0) { for (int k = 0; k < gvrow.Cells.Count; k++) { gvrow.Cells[k].Style.Add("background-color", "#EFF3FB"); } } } j++; } GridView1.RenderControl(htw); Response.Write(sw.ToString()); Response.End(); }
F-ES Sitecore
Вы не создаете файл Excel, вы просто пишете клиенту html-таблицу и говорите клиенту, что если у него установлен Excel, то он должен показать эту таблицу в виде рабочего листа. Если вы хотите создать реальный файл Excel, вам нужно будет использовать драйвер Excel ODBC, Open XML SDK или один из различных сторонних компонентов, поддерживающих создание файлов Excel.
Member 12133159
ОХК... Спасибо, что предупредили...
Не могли бы вы мне помочь, как это сделать???
F-ES Sitecore
Попробуй этот библиотека, там тоже есть примеры кода.
Carlos Gamerdinger
что является источником вашего представления сетки? зачем писать из gridview в excel и не создавать настоящий файл excel а не html файл в формате xls
Member 12133159
Источником GridView является SQLDatasource... И я не знаю, как создать настоящий excel, пожалуйста, помогите мне @Carlos или некоторые ссылки, где я могу учиться.....:)