FileReference as3xls

load/save只能在flex4中出现,complie version 10以上,flash player 10以上

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" horizontalAlign="center" verticalAlign="middle" applicationComplete="initApp()" width="502" height="436">
	<mx:Script>
		<![CDATA[
			import mx.controls.Alert;
			private var fileRef:FileReference=new FileReference();
			private function initApp():void{
				fileRef.addEventListener(Event.SELECT, onFileSelected); 
				fileRef.addEventListener(Event.CANCEL, onCancel);
				fileRef.addEventListener(IOErrorEvent.IO_ERROR, onIOError);
			}
			private function onFileSelected(e:Event):void{
				fileRef.addEventListener(ProgressEvent.PROGRESS,onProgress);
				fileRef.addEventListener(Event.COMPLETE, onComplete);
				fileRef.load(); 方法可以将数据从本地文件加载到内存中
			}
			private function onProgress(e:ProgressEvent):void{
				progress.text="Loaded " + e.bytesLoaded + " of " + e.bytesTotal + " bytes.";
			}
			private function onComplete(e:Event):void{
				img.source=fileRef.data;
			}
			private function onCancel(e:Event):void{
				
			}
			private function onIOError(e:IOErrorEvent):void{
				progress.text="There was an IO Error";
			}
			private function onBrowse():void{
				var typeFilter:FileFilter=new FileFilter("Images(*.jpg,*.jpeg,*.gif,*.png)","*.jpg;*.jpeg;*.gif;*.png")
				fileRef.browse([typeFilter]);
			}
			private function onUpload():void{
				fileRef.upload(new URLRequest("http://localhost/upload.php"));
			}
			private function onSave():void{				
				fileRef.save("123","1.txt");
			}
		]]>
	</mx:Script>
	<mx:Panel title="Upload" width="400" height="349" id="panel" layout="absolute">
		<mx:Button label="Browse..." click="onBrowse()" fontSize="12" x="70" width="90" y="10"/>
		<mx:Button label="Upload" click="onUpload()" x="180" y="12" width="87" fontSize="12"/>
		<mx:Button label="Save" click="onSave()" fontSize="12" x="70" width="90" y="10"/>
		<mx:Label id="progress" x="47" y="271" width="258" fontSize="12" height="28"/>
		<mx:Image id="img" x="70" y="62" width="197" height="183"/>
	</mx:Panel>
</mx:Application>

解决了中文乱码的as3xlsUTF8.swc包

var sheet:Sheet = new Sheet();
private function export2ExcelHandel(e:MouseEvent):void
{
    //在前台生成Excel
    var excelFile:ExcelFile=new ExcelFile();
    var arr:ArrayCollection=myTable.dataProvider as ArrayCollection;
    for(var i:int=0; i<arr.length; i++)
    {
        var obj:Object=arr[i];
        var j:int=0;
        for(var key:String in obj)
        {
            excelFile.sheets.addItem(generateSheet(0,j,key));	
            excelFile.sheets.addItem(generateSheet(i,j,obj[key]));
            j++;
        }
    }       
    var mbytes:ByteArray=excelFile.saveToByteArray();
    var file:FileReference=new FileReference();
    file.save(mbytes,"测试文件.xls"); 
}
			
function generateSheet(i:int,j:int,o:Object):Sheet{
    if(!sheet){    
        sheet = new Sheet();    
        sheet.resize(10,10);    
    }    
    sheet.setCell(i, j, String(o));    
    return sheet;    
}    




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值