将Flex Datagrid导出到Excel

怎样将DataGrid的数据表及设定导出到Excel表?本文给出了一种比较简单的方法。

思路比较简单:

1. 将DataGrid输出为对应的Html字符串,一个DataGrid对应一个<table></table>,DataGridColumn的headerText属性对应<th></th>,DataGrid的一行对应一个<tr></tr>,DataGrid的一个单元格对应一个 <td></td>;另外我们还可以使用getStyle方法将当前的样式属性值与table的样式属性值对应 ;

2. 使用URLVariables 类和URLLoader类将字符串变量发送到服务器端脚本。详见:使用URLLoader类和URLVariables类实现AS3与服务器通信

3. 在服务器端我们只是简单地加一个文件头,再将Flex端发送的字符串在客户端打印出来。如果使用aps.net,请validateRequest设定为false;

说明:如果DataGrid的数据庞大,样式很多,生成的html字符串会很大,因此发送到服务器端输出Excel的效率不高。因此我们最好是只将 DataGrid的过滤条件及样式发送到服务器端,然后在服务器端使用html字符串输出Excel。当然在服务器端使用Jexcel或POI API可以更好地控制Excel的输出。

点击此处查看最终效果,点击此处下载源文件。

来源文章来自: 本站原创
引用通告引用通告: 查看所有引用 | 我要引用此文章
标签Tags: Lab DataGrid
相关日志相关日志:
评论: 9 | 引用: 0 | 查看次数: -
回复 回复引用gis[2010-06-12 07:12 PM | del ]
没有服务端的ASP文件呢
回复 回复引用不不兔[2009-10-26 06:30 PM | del ]
最近发现一个新问题
两列的时候会有问题
还有表格没有数据的时候也是会出现问题的
所说问题为乱码
回复来自 Flying 的评论 Flying 于 2009-10-26 11:17:13 PM 回复
最好将DataGrid的过滤条件及样式发送到服务器端,然后在服务器端使用html字符串输出Excel
回复 回复引用wanghaitao310[2009-07-16 03:59 PM | del ]
请问,我的服务器端是PHP的,应该怎么添加服务器端代码?
回复 回复引用落日[2009-05-12 10:24 AM | del ]
谢谢,JSP那个页乱码问题有人解决吗
回复来自 Flying 的评论 Flying 于 2009-05-12 09:30 PM 回复
自己试一下,没乱码问题
回复 回复引用KEN[2009-01-12 06:22 PM | del ]
我用XML数据直接填表, 也出现同样问题.
    <mx:XMLList id="news">
        <new>
            <orderidCol>001</orderidCol>
            <categoryCol>电脑整机</categoryCol>
            <buyreasonCol>日常</buyreasonCol>
        </new>
    </mx:XMLList>

    <mx:DataGrid id="dataGrid3"  dataProvider="{news}"  />

好奇怪呀???


发表评论
昵 称:
密 码: 游客发言不需要密码.
内 容:
验证码:
选 项:
虽然发表评论不用注册,但是为了保护您的发言权,建议您注册帐号.