silverlight中的datagrid导出excel
目前只能导出当前页面的数据(datagrid已分页),但是对于全部数据的导出还未实现。原来是想做个隐藏的不分页的datagrid,然后把全部数据取出来,绑定到隐藏的dat...
目前只能导出当前页面的数据(datagrid已分页),但是对于全部数据的导出还未实现。原来是想做个隐藏的不分页的datagrid,然后把全部数据取出来,绑定到隐藏的datagrid上,然后用这个datagrid进行数据的导出,但是试验后发现不行。。。
导出当前页的方法已经实现,是传入datagrid给导出方法,然后遍历datagrid,拼接出字符串,然后用流的形式导出。二楼的说的“可以直接从数据源获取数据导入到Excel中”能具体说说吗?是直接操作exce? 展开
导出当前页的方法已经实现,是传入datagrid给导出方法,然后遍历datagrid,拼接出字符串,然后用流的形式导出。二楼的说的“可以直接从数据源获取数据导入到Excel中”能具体说说吗?是直接操作exce? 展开
2个回答
展开全部
用ASPX页面 就行了,不要用银光
Private Sub excel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
With Response
.Buffer = True
.ContentType = "application/vnd.ms-excel "
.ContentEncoding = System.Text.Encoding.GetEncoding( "utf-8 ")
End With
DataGrid_CXMONEY.EnableViewState = False
Dim tw As New System.IO.StringWriter()
Dim hw As New System.Web.UI.HtmlTextWriter(tw)
DataGrid_CXMONEY.RenderControl(hw)
Response.Write(tw.ToString())
Response.End()
end sub
GRID在放在ASPX页面上,绑定数据源
这样导出非常快,比自己递归填充XLS单元格不知道快多少.
但有个缺陷就是只能看,做统计时会有问题.
因为其实这段代码原理就是用XLS中显示HMTL而已,跟真正的XLS源代码有区别的
Private Sub excel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
With Response
.Buffer = True
.ContentType = "application/vnd.ms-excel "
.ContentEncoding = System.Text.Encoding.GetEncoding( "utf-8 ")
End With
DataGrid_CXMONEY.EnableViewState = False
Dim tw As New System.IO.StringWriter()
Dim hw As New System.Web.UI.HtmlTextWriter(tw)
DataGrid_CXMONEY.RenderControl(hw)
Response.Write(tw.ToString())
Response.End()
end sub
GRID在放在ASPX页面上,绑定数据源
这样导出非常快,比自己递归填充XLS单元格不知道快多少.
但有个缺陷就是只能看,做统计时会有问题.
因为其实这段代码原理就是用XLS中显示HMTL而已,跟真正的XLS源代码有区别的
追问
这样的话就得再建aspx页面,这样的列表页面有20个左右,改动量太大了
追答
就一个页面
用参数控制GRID的结构和数据源嘛..
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询