flex导出excel具体实现

2023-12-07 0 317

需要插件 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>

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

悠久资源 Flex flex导出excel具体实现 https://www.u-9.cn/biancheng/flex/126170.html

常见问题

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务