Следующий код - моя текущая попытка открыть некоторые данные в excel с помощью кнопки веб-сайта в VB.Net. Я хотел бы, чтобы данные отображали barebones, но форматирование из таблицы на веб-сайте всегда следует. Пейджинг и цвета делают данные почти невозможными для чтения и могут видеть только первую страницу данных. Быстрые исправления? Я пробовал много вещей, которые я нашел здесь, но безрезультатно.Экспорт данных в Excel из VB.Net
Private Sub DownloadExcel()
Response.Clear()
'Dim dt As DataTable = TryCast(ViewState("GridData"), DataTable)
Grid_Bad_Meters.AllowPaging = False
Grid_Bad_Meters.AllowSorting = False
'Grid_Bad_Meters.DataSource = dt
'Grid_Bad_Meters.DataBind()
Dim sfile As String = "Communication_Failures" & Now.Ticks
Response.AddHeader("content-disposition", "attachment;filename=" & sfile & ".xls")
Response.Charset = ""
' If you want the option to open the Excel file without saving then
' comment out the line below
' Response.Cache.SetCacheability(HttpCacheability.NoCache);
Response.ContentType = "application/vnd.ms-excel"
Dim stringWrite As New System.IO.StringWriter()
Dim htmlWrite As System.Web.UI.HtmlTextWriter = New HtmlTextWriter(stringWrite)
Grid_Bad_Meters.RenderControl(htmlWrite)
Response.Write(stringWrite.ToString())
Response.End()
'Grid_Bad_Meters.AllowPaging = True
'Grid_Bad_Meters.AllowSorting = True
'GridView1.DataSource = dt
'GridView1.DataBind()
End Sub
расширения изменения в .csv – techspider
Вы не создаете файл Excel, вы создаете файл HTML и обслуживающий его с расширением Excel и MIME типом. Не делай этого, это грязный хак. Создайте реальный файл Excel, используя библиотеку, такую как EPPlus, NPOI или Office XML SDK. Я обсуждаю вашу технику и EPPlus в своем личном [сообщении в блоге] (https://masonmcg.com/blog/entry/properly-generating-excel-files-in-net). – mason
Или Office Interop/VSTA. – RBarryYoung