flex 把datagrid的内容导出到Excel

SDK要3.4以上的版本:

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
  <mx:Script> 
   <![CDATA[ 
    import mx.controls.dataGridClasses.DataGridColumn; 
       import com.as3xls.xls.Cell; 
       import mx.collections.ArrayCollection; 
       
    import com.as3xls.xls.Sheet; 
       import com.as3xls.xls.ExcelFile; 
        
          private var fileReference:FileReference; 
          private var xls:Class; 
          private var sheet:Sheet; 
          
         [Bindable] 
         private var fields:Array = new Array(); 
           
          [Bindable] 
          private var ItemDGDataProvider:ArrayCollection = new ArrayCollection([ 
              {name:"Item1",value:"21",qty:"3",cost:"12.21", apples: "1"}, 
              {name:"Item2",value:"20",qty:"4",cost:"12.22", apples: "1"}, 
              {name:"Item3",value:"22",qty:"5",cost:"12.23", apples: "1"}, 
              {name:"Item4",value:"23",qty:"2",cost:"12.24", apples: "1"} 
              ]); 
              
    private function fileReference_Cancel(event:Event):void 
          { 
              fileReference = null; 
          } 
         
          private function exportToExcel():void 
          { 
              sheet = new Sheet(); 
              var dataProviderCollection:ArrayCollection = rebateByItemDG.dataProvider as ArrayCollection; 
              var rowCount:int = dataProviderCollection.length; 
              sheet.resize(rowCount + 1,rebateByItemDG.columnCount); 
              var columns:Array = rebateByItemDG.columns; 
              var i:int = 0; 
              for each (var field:DataGridColumn in columns){ 
               fields.push(field.dataField.toString()); 
               sheet.setCell(0,i,field.dataField.toString()); 
               i++; 
              } 
             
              for(var r:int=0; r < rowCount; r++) 
              { 
                     var record:Object = dataProviderCollection.getItemAt(r); 
                     /*insert record starting from row no 2 else 
                     headers will be overwritten*/ 
                     insertRecordInSheet(r+1,sheet,record); 
              } 
              var xls:ExcelFile = new ExcelFile(); 
              xls.sheets.addItem(sheet); 
   
              var bytes: ByteArray = xls.saveToByteArray(); 
              var fr:FileReference = new FileReference(); 
              fr.save(bytes,"SampleExport.xls");  
    } 
    private function insertRecordInSheet(row:int,sheet:Sheet,record:Object):void 
          { 
              var colCount:int = rebateByItemDG.columnCount; 
              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){ 
                 if (record[field].toString() == value) 
                  sheet.setCell(row,i,value); 
                } 
                 i++; 
               } 
     } 
          } 
   ]]> 
  </mx:Script> 
     <mx:VBox width="100%" height="100%"> 
         <mx:Form> 
             <mx:FormItem label="Export Datagrid items to Excel?" fontWeight="bold"> 
                 <mx:Form> 
                     <mx:HBox width="100%" verticalAlign="middle"> 
                         <mx:DataGrid id="rebateByItemDG" includeInLayout="true" visible="true" dataProvider="{ItemDGDataProvider}" width="100%" editable="true"/> 
                         <mx:Button label="Export To Excel" click="exportToExcel();"/> 
                     </mx:HBox> 
                 </mx:Form> 
             </mx:FormItem> 
         </mx:Form> 
     </mx:VBox>
</mx:Application>

 

 

压缩包是需要的as3xls包

转载于:https://www.cnblogs.com/nianshi/archive/2010/08/10/1796406.html

智能网联汽车的安全员高级考试涉及多个方面的专业知识,包括但不限于自动驾驶技术原理、车辆传感器融合、网络安全防护以及法律法规等内容。以下是针对该主题的一些核心知识解析: ### 关于智能网联车安全员高级考试的核心内容 #### 1. 自动驾驶分级标准 国际自动机工程师学会(SAE International)定义了六个级别的自动驾驶等级,从L0到L5[^1]。其中,L3及以上级别需要安全员具备更高的应急处理能力。 #### 2. 车辆感知系统的组成与功能 智能网联车通常配备多种传感器,如激光雷达、毫米波雷达、摄像头和超声波传感器等。这些设备协同工作以实现环境感知、障碍物检测等功能[^2]。 #### 3. 数据通信与网络安全 智能网联车依赖V2X(Vehicle-to-Everything)技术进行数据交换,在此过程中需防范潜在的网络攻击风险,例如中间人攻击或恶意软件入侵[^3]。 #### 4. 法律法规要求 不同国家和地区对于无人驾驶测试及运营有着严格的规定,考生应熟悉当地交通法典中有关自动化驾驶部分的具体条款[^4]。 ```python # 示例代码:模拟简单决策逻辑 def decide_action(sensor_data): if sensor_data['obstacle'] and not sensor_data['emergency']: return 'slow_down' elif sensor_data['pedestrian_crossing']: return 'stop_and_yield' else: return 'continue_driving' example_input = {'obstacle': True, 'emergency': False, 'pedestrian_crossing': False} action = decide_action(example_input) print(f"Action to take: {action}") ``` 需要注意的是,“同学”作为特定平台上的学习资源名称,并不提供官方认证的标准答案集;建议通过正规渠道获取教材并参加培训课程来准备此类资格认证考试
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值