`
iMzw
  • 浏览: 193897 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Flash player 10 写本地文件导出CSV

    博客分类:
  • Flex
阅读更多
必须将编译器版本设为10.0.0以上,设置如下
FlexBuilder:

Flex项目- 右键 - Properties -flex compiler - required flash player version
Flex类库项目- 右键 - Properties - flex library compiler - additional compiler aguments: --target-player=10.0.0


命令行:

mxmlc -target-player 10.0.0
compc -target-player 10.0.0

---

			private var fr:FileReference;


			//called when the user clicks the load file button
			private function saveFile(data:Object, fileName:String):void {
				//create the FileReference instance
				fr=new FileReference();
				//listen for the file has been saved
				fr.addEventListener(Event.COMPLETE, onFileSave);
				//listen for when then cancel out of the save dialog
				fr.addEventListener(Event.CANCEL,onCancel);
				//listen for any errors that occur while writing the file
				fr.addEventListener(IOErrorEvent.IO_ERROR, onSaveError);
				//open a native save file dialog, using the default file name
				fr.save(data, fileName)
			}

			/***** File Save Event Handlers ******/

			//called once the file has been saved
			private function onFileSave(e:Event):void {
				trace("File Saved");
				
			}

			
			private function onCancel(e:Event):void {
				trace("File save select canceled.");
				fr=null;
			}

			
			private function onSaveError(e:IOErrorEvent):void {
				trace("Error Saving File : " + e.text);
				fr=null;
			
			}

			private function export():void {
				var csv:CSV=new CSV();
				csv.embededHeader=false
				 csv.header=['label 1', 'label 2', '姓名', 'label 4']
				   csv.addRecordSet( ['1','b','c','k'] )
				 csv.addRecordSet( ['0','b','g','d'], -1 ) 
				csv.encode()
				trace( 'Is string: ' + (csv.data is String) + '\r' + csv.data );
				var g:String=csv.data + "";
                                //解决中文问题
				var b:ByteArray=new ByteArray();
				b.writeMultiByte(g, "GBK");
				trace("length = " + b.length);
				trace("bytesAvailable = " + b.bytesAvailable);
				trace("position = " + b.position);
				b.position=0;
				saveFile(b, "Export.csv");
			}


封装了一个工具类
package com.nsn.utils {
	import flash.events.Event;
	import flash.events.IOErrorEvent;
	import flash.net.FileReference;
	
	public class FileUtils {
		public function FileUtils() {
		}
		private var fr:FileReference;
		//保存成功回调函数
		private var onDoneCallback:Function;
		//IOError 回调函数
		private var onErrorCallback:Function;
		//取消保存回调函数
		private var onCancelCallback:Function;
		/**
		 * 保存文件
		 * @param data 要保存的数据
		 * @param fileName 文件名称
		 * @param onDone 保存成功回调函数
		 * @param onError IOError 回调函数
		 * @param onCancel 取消保存回调函数
		 * 
		 * 示例:
		 * <code>
		 * 	   FileUtils.save(...);
		 * </code>
		 */
		public static function save(data:Object, fileName:String, onDone:Function=null,  onError:Function=null, onCancel:Function=null):void {
			new FileUtils().saveFile(data, fileName, onDone, onError, onCancel);
		}
		//called when the user clicks the load file button
		public function saveFile(data:Object, fileName:String, onDone:Function=null,  onError:Function=null, onCancel:Function=null):void {
			onDoneCallback = onDone;
			onErrorCallback = onError;
			onCancelCallback = onCancel;
			//create the FileReference instance
			fr=new FileReference();
			//listen for the file has been saved
			fr.addEventListener(Event.COMPLETE, onFileSave);
			//listen for when then cancel out of the save dialog
			fr.addEventListener(Event.CANCEL,onCancel);
			//listen for any errors that occur while writing the file
			fr.addEventListener(IOErrorEvent.IO_ERROR, onSaveError);
			//open a native save file dialog, using the default file name
			fr.save(data, fileName)
		}

		/***** File Save Event Handlers ******/

		//called once the file has been saved
		private function onFileSave(e:Event):void {
			trace("File Saved");
			fr=null;
			if(onDoneCallback != null){
				onDoneCallback(e);
			}
			onDoneCallback = null;
		}

		//called if the user cancels out of the file save dialog
		private function onCancel(e:Event):void {
			trace("File save select canceled.");
			fr=null;
			if(onCancelCallback != null){
				onCancelCallback(e);
			}
			onCancelCallback = null;
		}

		//called if an error occurs while saving the file
		private function onSaveError(e:IOErrorEvent):void {
			trace("Error Saving File : " + e.text);
			fr=null;
			if(onErrorCallback != null){
				onErrorCallback(e);
			}
			onErrorCallback = null;
		}
	}
}
1
0
分享到:
评论

相关推荐

    flex导出csv文件

    Flex是一种基于ActionScript和Flash Player运行时的开源...以上就是Flex中导出CSV文件涉及的关键知识点。通过理解和应用这些概念,你可以创建一个功能完备的CSV导出功能,使用户能够方便地从Flex应用中导出和共享数据。

    Flex 不需要服务器支持 导入 导出

    - 虽然Flex可以直接访问本地文件,但为了用户安全,Flash Player和AIR有严格的沙箱限制,防止恶意应用滥用本地文件系统。 - 用户必须明确授权才能访问本地文件,这是通过用户点击文件选择对话框来实现的。 5. **...

    Flex导出Excel

    例如,可以通过配置文件或参数来决定导出CSV还是XML,或者决定是否包含特定的样式和格式。 在实际项目中,确保正确处理数据编码,避免中文或其他非ASCII字符出现乱码。同时,考虑到性能和用户体验,应该在后台异步...

    将flex页面数据导出到excel

    在IT行业中,尤其是在Web开发领域,经常需要将动态生成的数据导出到Excel文件,以便用户可以方便地进行数据查看、编辑或分析。本篇将详细讲解如何在Flex页面上实现数据导出到Excel的功能。 Flex是一种基于Adobe ...

    flex air 导出 excel

    Flex Air 是Adobe开发的一款用于构建桌面应用程序的框架,它基于ActionScript 3.0和Flash Player,使得开发者能够使用熟悉的Flex技术创建桌面应用。在Flex Air中,有时我们需要将数据导出为Excel格式,以便用户可以...

    flash游戏存档查找工具

    3. **导出功能**:用户可以选择将找到的Flash Cookie导出为CSV、TXT或HTML格式,方便备份或者在其他设备上恢复。 4. **删除操作**:如果发现不希望保留的Flash Cookie,可以直接通过软件进行删除,保护个人隐私。 5....

    Flex Data Grid Exporter

    5. **DataGridCSVExportExample.swf**:SWF是Adobe Flash Player执行的文件格式,这里应该是编译后的Flex应用程序示例,用户可以直接运行查看数据网格导出CSV的示例效果。 6. **com**:这个可能是类包的前缀,表明...

    利用ASP架构将flex中的datagrid数据导出为excel表格方式。

    Flex,则是Adobe开发的一种用于构建富互联网应用(RIA)的框架,主要基于ActionScript编程语言和Flash Player运行时环境。DataGrid是Flex中一个常用的组件,用于展示结构化的数据集,类似于HTML中的表格。 要将Flex...

    topia-service-csv-3.0-beta-2.zip

    CSV是一种常见的数据交换格式,通常用于导入和导出表格数据,如电子表格或数据库。这个版本可能是对前一版本的改进,增加了新功能或修复了已知问题,以提升数据处理效率和兼容性。 描述中提到的"promise-as3.zip"是...

    FLEX上传下载的FLEX项目源码

    在FLEX中处理Excel文件通常需要使用第三方库,如As3Xlsx或As3CSV,它们能够读取和写入Excel的XLS或XLSX文件。通过这些库,你可以解析Excel文件的内容,或将数据导出为Excel格式供用户下载。 在FLEX项目中实现Excel...

    flex自己开发的demo

    在IT行业中,Flex是一种基于ActionScript编程语言和Flash Player运行时环境的开发框架,用于创建富互联网应用程序(RIA)。这个名为“flex自己开发的demo”的项目涵盖了几个关键的技术点,让我们逐一深入探讨。 1. ...

    FusionCharts图表工具的技术参数

    对于Flash图表,则需Adobe Flash Player 8或更高版本,若要实现客户端导出功能,则需Flash Player 10。 ### 服务器端要求 FusionCharts在服务器端没有特别的需求,可在Windows、Mac、Linux、Unix或其他服务器上...

    regdllview

    3. **导出列表**:将查看到的信息导出为CSV或文本文件,方便进一步分析或备份。 4. **卸载插件**:如果发现某些不再需要或者有问题的插件,可以直接通过regdllview卸载,避免手动操作注册表带来的风险。 5. **调试...

    开源DataGrid和AdvancedDataGrid复制到Excel工具类

    该工具类可能是用ActionScript编写,ActionScript是Adobe Flex的主要编程语言,与Flash Player和Adobe AIR平台兼容。它可能包含以下功能: 1. **数据抓取**:从DataGrid或AdvancedDataGrid组件中获取显示的数据,...

    Fusioncharts XT V3.2.2中文版教程

    此外,Fusioncharts XT V3.2.2还支持在iPad/iPhone上运行图表,可以通过一些方法在设备上自动启用那些禁用、未安装或不支持FlashPlayer的JavaScript图表。 FusionCharts XT V3.2.2还支持使用新的JavaScript事件和...

    Fusioncharts_XT_V3.2.2最新版教程下载

    此外,还提供了在iPad/iPhone等设备上运行图表的方法,包括如何在设备上自动启用那些禁用、未安装或不支持FlashPlayer的JavaScript图表。 Fusioncharts的另一个重要特点是支持Flash和JavaScript(HTML5),这使得它...

    图书销售管理系统Visual+C

    6. **数据导入导出**:可能支持从Excel或其他数据库格式导入图书数据,以及将数据导出为CSV或其他格式,便于数据交换和备份。 7. **界面友好**:考虑到用户体验,系统界面应清晰直观,操作流程简单易懂,符合...

    lotus 6---2

    SWF 文件是Adobe Flash Player 支持的格式,常用于在线展示交互式内容,如动画、游戏或软件教程。这些文件可能展示了如何使用 Lotus 6-2 的特定功能,或者提供了一系列逐步操作的指南。 在 Lotus 6-2 可能具备的...

    aspnet免Flex报表设计器

    6. **导出和打印功能**:可将设计好的报表导出为PDF、Excel、CSV等多种格式,方便分享和存档,同时支持直接打印,满足不同场合的应用需求。 7. **版本控制与协作**:通过版本管理,开发者可以追踪报表的修改历史,...

    Flex报表

    Flex报表通常结合ActionScript和MXML语言,利用Flash Player或Adobe AIR运行时环境,提供高度定制化的视觉体验。在给定的压缩包文件中,可能包含了各种示例(Examples)来展示Flex报表的使用方法和功能特性。 1. **...

Global site tag (gtag.js) - Google Analytics