chaochenga
asked on
Export Dataset to Excel
I use the following script to export dataset to excel
Public Class DataSetToExcel
Public Shared Sub Convert(ByVal ds As DataSet, ByVal response As HttpResponse)
'first let's clean up the response.object
response.Clear()
response.Charset = ""
'set the response mime type for excel
response.ContentType = "application/vnd.ms-excel"
'create a string writer
Dim stringWrite As New System.IO.StringWriter
'create an htmltextwriter which uses the stringwriter
Dim htmlWrite As New System.Web.UI.HtmlTextWrit er(stringW rite)
'instantiate a datagrid
Dim dg As New DataGrid
'set the datagrid datasource to the dataset passed in
dg.DataSource = ds.Tables(0)
'bind the datagrid
dg.DataBind()
'tell the datagrid to render itself to our htmltextwriter
dg.RenderControl(htmlWrite )
'all that's left is to output the html
response.Write(stringWrite .ToString)
response.End()
End Sub
End Class
It has been working fine except now that I move the script to a new SharePoint server, it stops working. Instead of exporting the dataset to an excel, it displays the XML on the screen. Help.
Public Class DataSetToExcel
Public Shared Sub Convert(ByVal ds As DataSet, ByVal response As HttpResponse)
'first let's clean up the response.object
response.Clear()
response.Charset = ""
'set the response mime type for excel
response.ContentType = "application/vnd.ms-excel"
'create a string writer
Dim stringWrite As New System.IO.StringWriter
'create an htmltextwriter which uses the stringwriter
Dim htmlWrite As New System.Web.UI.HtmlTextWrit
'instantiate a datagrid
Dim dg As New DataGrid
'set the datagrid datasource to the dataset passed in
dg.DataSource = ds.Tables(0)
'bind the datagrid
dg.DataBind()
'tell the datagrid to render itself to our htmltextwriter
dg.RenderControl(htmlWrite
'all that's left is to output the html
response.Write(stringWrite
response.End()
End Sub
End Class
It has been working fine except now that I move the script to a new SharePoint server, it stops working. Instead of exporting the dataset to an excel, it displays the XML on the screen. Help.
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
I removed the line response.ContentType = "application/vnd.ms-excel" and it is now showing data on the screen. However, I need the save as dialog to pop up. Help.
ASKER
I got it to work with the following
Response.AppendHeader( "content-disposition", "attachment; filename=" + name )
Response.AppendHeader( "content-disposition", "attachment; filename=" + name )
ASKER