• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    flex导出excel具体实现
    需要插件 as3xls-1.0.1.swc
    复制代码 代码如下:

    ?xml version="1.0" encoding="utf-8"?>
    s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
    xmlns:s="library://ns.adobe.com/flex/spark"
    xmlns:mx="library://ns.adobe.com/flex/mx">
    fx:Script>
    ![CDATA[
    import com.as3xls.xls.ExcelFile;
    import com.as3xls.xls.Sheet;

    import mx.collections.ArrayCollection;
    import mx.controls.Alert;
    import mx.controls.CheckBox;

    [Bindable]
    private var dp:Array = [
    {studentID:1,name:"2ssdl",gender:"为001",birthday:"4区",className:"5清道夫却无法"},
    {studentID:2,name:"2士大",gender:"1色调",birthday:"4却",className:"5为去去"},
    {studentID:3,name:"2访问",gender:"1色调",birthday:"飞4",className:"访问5"},
    {studentID:4,name:"访问2",gender:"0色调",birthday:"4却",className:"为5"},
    {studentID:5,name:"2各位",gender:"0色调",birthday:"4飞",className:"5为"}];

    private function onCreate(dg:DataGrid):void
    {
    var rowCount:int = dg.dataProvider.length;
    var colCount:int = dg.columnCount;
    var sheet:Sheet = new Sheet();
    sheet.resize(rowCount+1,colCount); //设置表格的范围
    var fields:Array = new Array();//用来保存字段
    for(var i:int=0; i colCount;i++)
    {
    sheet.setCell(0,i,dg.columns[i].headerText.toString());//表格第0行设置字段名
    fields.push(dg.columns[i].dataField.toString());
    }
    for(var i:int=0; i rowCount;i++)
    {
    var record:Object =dg.dataProvider[i];//获取某行
    insertRecordInSheet(i+1,sheet,record);
    }
    var excelFile:ExcelFile = new ExcelFile();//新建excel文件
    excelFile.sheets.addItem(sheet);//把表格添加入excel文件中
    var mbytes:ByteArray = excelFile.saveToByteArray();
    var file:FileReference = new FileReference();
    file.save(mbytes,"测试文件.xls"); // 定死文件名
    file.addEventListener(Event.COMPLETE, function (){
    Alert.show("保存成功");
    });
    /**回调函数**/
    function insertRecordInSheet(row:int,sheet:Sheet,record:Object):void
    {
    for(var c:int; c colCount; c++)
    {
    var i:int = 0;
    for each(var field:String in fields)
    {
    for each (var value:String in record)
    {
    /**循环判断myDg列名域值record[field]与value是否相等**/
    if (record[field].toString() == value)
    /**写入表格中**/
    sheet.setCell(row,i,value);
    }
    i++;
    }
    }
    }
    }
    ]]>
    /fx:Script>
    fx:Declarations>
    !-- 将非可视元素(例如服务、值对象)放在此处 -->
    /fx:Declarations>
    mx:Panel>
    mx:Button label="导出" click="onCreate(myDG)"/>
    mx:DataGrid id="myDG" width="100%" rowCount="20" dataProvider="{dp}">
    mx:columns>
    mx:DataGridColumn headerText="学号" dataField="studentID"/>
    mx:DataGridColumn headerText="姓名" dataField="name"/>
    mx:DataGridColumn headerText="性别" dataField="gender" width="50"/>
    mx:DataGridColumn headerText="生日" dataField="birthday" />
    mx:DataGridColumn headerText="班级" dataField="className"/>
    /mx:columns>
    /mx:DataGrid>
    /mx:Panel>
    /s:Application>
    上一篇:Flex中TextInput组件设置限制某些字符的输入的方法
    下一篇:flex调用webservice中的自定义类的方法
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    flex导出excel具体实现 flex,导出,excel,具体,实现,