到目前为止flex as3本身不具备导出EXCEL的功能,要导出EXCEL要通过服务端才能完成。以下是一个FLEX导出EXCEL的例子
excel.as文件
- package yes3d.utils
- {
- import flash.net.URLRequest;
- import flash.net.URLRequestMethod;
- import flash.net.navigateToURL;
- public class Execl
- {
- public function Execl()
- {
- }
- /**
- * 导出excel
- */
- public function load(url:String,keyids:String,fields:):void{
- //用post方式发送数据
- var urlStr:String=url+'?keyids='+keyids;
- var u:URLRequest = new URLRequest(urlStr);
- u.method = URLRequestMethod.POST;
- navigateToURL(u,"_self");
- }
- }
- }
视图层sendExcel.mxml
- <?xml version="1.0" encoding="utf-8"?>
- <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
- <mx:Script>
- <![CDATA[
- import utils.Excel;
- private var excel:Excel=new Excel;
- ]]>
- </mx:Script>
- <mx:Button x="186" y="94" label="导出数据" click="excel->load('http://192.168.0.114/test.php','参数')"/>
- </mx:Application>
服务端excel.php
- <?
- header("Content-type:application/vnd.ms-excel");
- header("Content-Disposition:filename=".date('Y-m-d',time()).".xls");
- ?>
- <table>
- <tr><td>$_REQUEST['keyid']</td></tr>
- <tr><td>$_REQUEST['keyid']</td></tr>
- </table>
完成,其实生成图片这种功能FLEX也是要通过服务端的。