`
zhuojb
  • 浏览: 91099 次
  • 性别: Icon_minigender_1
  • 来自: 厦门
社区版块
存档分类
最新评论

在FLEX中使用MecGrid的excel导出功能

阅读更多
环境:FLEX4.6.0
附件为Mecgrid导出EXCEL帮助类库

<?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:MecGrid="com.mechan.MecGrid.*"
			   xmlns:mx="library://ns.adobe.com/flex/mx" 
			   minWidth="955" minHeight="600"
			   creationComplete="MakeData()"
			   >
	<fx:Declarations>
		<!-- 将非可视元素(例如服务、值对象)放在此处 -->
	</fx:Declarations>
	<fx:Script>
		<![CDATA[
			import mx.controls.Alert;
			
			import com.mechan.MecGrid.mecGridClasses.CellOp;
			import com.mechan.MecGrid.mecGridClasses.MecGridConst;
			import com.mechan.MecGrid.mecGridClasses.MecGridEvent;
			
			import mx.collections.ArrayCollection;
			import mx.utils.Base64Encoder;
			
			private var dpcol:ArrayCollection;
			private var dp:Array;
			
			import com.mechan.export.MecExporter;
			private function exportToExcelFile():void 
			{ 
				
				var mgrid:MecGrid=this.mgrid; 
				
				if (mgrid) 
				{ 
					try 
					{ 
						var exp:MecExporter=new MecExporter(); 
						
						// add MecGrid with sheetname 
						exp.charset="zh_CN"; 
						exp.AddDataGrid(mgrid, ""); 
						// exporting to binary data 
						var ebt:ByteArray=exp.Export2BiffExcel(); 
						
						var b64encoder:Base64Encoder=new Base64Encoder(); 
						b64encoder.encodeBytes(ebt); 
						var file:FileReference=new FileReference(); 
						file.save(ebt, "t.xls"); 
						/* b64encoder.insertNewLines = false; 
						b64encoder.encodeBytes(ebt); 
						ExternalInterface.call("loadExcelFile", b64encoder.flush()); */ 
					} 
					catch (e:Error) 
					{ 
						mx.controls.Alert.show(e.message);
					} 
				} 
			} 
			
			private function MakeData():void{
				var i:int;
				var n:int = 0;
				
				dp = new Array();
				
				var obj:Object = new Object();
				//obj.continent = "continent1";
				obj.country = "我是来自";
				obj.city = "city1";
				obj.qt1 = Math.random() * 100;
				obj.qt2 = Math.random() * 100;
				obj.qt3 = Math.random() * 100;
				obj.qt4 = Math.random() * 100;
				dp.push(obj);
				
				var obj2:Object = new Object();
				//obj2.continent = "continent1";
				obj2.country = "我是来自";
				obj2.city = "city1" ;
				obj2.qt1 = Math.random() * 100;
				obj2.qt2 = Math.random() * 100;
				obj2.qt3 = obj.qt3;
				obj2.qt4 = obj.qt3;
				dp.push(obj2);
				
				
				mgrid.redraw = false;
				mgrid.SelectionMode = CellOp.SELECTIONMODE_CELL | CellOp.SELECT_MULTI;
				mgrid.Rows.count = 0;
				mgrid.Cols.count = 7;
				
				mgrid.spreadSheetStyle = true;
				
				mgrid.merge_option = MecGridConst.MERGE_PREV;
				
				mgrid.AddRow(0, "CONTINENT;COUNTRY;CITY;QT1;QT2;QT3;QT4");
				mgrid.Rows.fixed = 1;
				
				mgrid.Cols.item(0).dataField = "continent";
				mgrid.Cols.item(1).dataField = "country";
				mgrid.Cols.item(2).dataField = "city";
				mgrid.Cols.item(3).dataField = "qt1";
				mgrid.Cols.item(4).dataField = "qt2";
				mgrid.Cols.item(5).dataField = "qt3";
				mgrid.Cols.item(6).dataField = "qt4";
				
				mgrid.Cols.item(0).merge = true;
				mgrid.Cols.item(1).merge = true;
				mgrid.Cols.item(2).merge = true;
				mgrid.Cols.item(3).merge = true;
				mgrid.Cols.item(4).merge = true;
				mgrid.Cols.item(5).merge = true;
				mgrid.Cols.item(6).merge = true;
				
				mgrid.Cols.item(3).datatype = CellOp.STATUSBAR;
				mgrid.Cols.item(4).datatype = CellOp.STATUSBAR;
				
				//				mgrid.addEventListener(MecGridEvent.DATAPROVIDER_UPDATE_FINISHED, refreshRandomValues);
				mgrid.treeGridData = false;
				mgrid.dataProvider = dp;
				mgrid.redraw = true;
			}
			
		]]>
	</fx:Script>
	<s:layout>
		<s:VerticalLayout gap="2" />
	</s:layout>
	<MecGrid:MecGrid id="mgrid" width="100%" height="100%">
		<!--MecGrid:ResourceXML >
		<fx:XML xmlns="">
		<List>
		<option cols="7" fixedrows="2" fixedcols="0" merge_option="4" merge_option_fixedcolumn="0" merge_option_fixedrow="2" showspreadsheet="F" selectionmode="18" treeview="T" treeColumn="0" textalignment="6" textalignment_fixed="5"/>
		<columns>
		<column name="col_0" datafield="selected" visible="T" editable="F" colindex="0" autowidth="T" width="41" datatype="0" textalign="5" textalign_fixed="10" formatstring="" header="Select;Select"/>
		<column name="col_1" datafield="country" visible="T" editable="F" colindex="1" autowidth="T" width="61" datatype="5" textalign="4" textalign_fixed="10" formatstring="" header="Country;Country"/>
		<column name="col_2" datafield="city" visible="T" editable="F" colindex="2" autowidth="T" width="61" datatype="5" textalign="4" textalign_fixed="10" formatstring="" header="City;City"/>
		<column name="col_3" datafield="qt1" visible="T" editable="F" colindex="3" autowidth="T" width="88" datatype="5" textalign="10" textalign_fixed="10" formatstring="#,###.##" header="Visitors;1st Quater (A)"/>
		<column name="col_4" datafield="qt2" visible="T" editable="F" colindex="4" autowidth="T" width="92" datatype="5" textalign="10" textalign_fixed="10" formatstring="#,###.##" header="Visitors;2nd Quater (B)"/>
		<column name="col_5" datafield="qt3" visible="T" editable="F" colindex="5" autowidth="T" width="90" datatype="5" textalign="10" textalign_fixed="10" formatstring="#,###.##" header="Visitors;3rd Quater (C)"/>
		<column name="col_6" datafield="qt4" visible="T" editable="F" colindex="6" autowidth="T" width="90" datatype="5" textalign="10" textalign_fixed="10" formatstring="#,###.##" header="Visitors;4th Quater (D)"/>
		</columns>
		</List>    
		</fx:XML>
		</MecGrid:ResourceXML-->
	</MecGrid:MecGrid>
	<s:Button click="exportToExcelFile()" label="导出EXCEL"/>
	
</s:Application>


分享到:
评论

相关推荐

    flex导出复杂excel

    AdvancedDataGrid导出复杂表头excel

    flex mecgrid导出excel工具包

    flex MecExporter(2).swc MecExporter(2).swc

    flex中dataGrid导出数据到excel中

    flex中dataGrid导出数据到excel中,不存在乱码问题

    flex air 导出 excel

    在Flex Air中,有时我们需要将数据导出为Excel格式,以便用户可以进行离线分析或进一步处理。然而,需要注意的是,Flex Air原生并不直接支持导出包含中文字符的Excel文件,这可能是由于早期版本的Excel文件格式处理...

    flex air 导出 excel 支持中文

    在导出文件时,通常会使用FileReference类来进行本地文件的保存。你需要确保用户有足够的权限,并遵循正确的安全策略,如提示用户选择保存位置。 在实际开发中,可能还会遇到其他问题,比如性能优化、大量数据处理...

    一个具有EXCEL风格的FLEX组件MecGrid使用帮助

    通过使用MecExporter类,我们可以将MecGrid中的数据转换为Excel格式,方便用户进行离线分析或与其他应用程序共享。 总的来说,MecGrid是一个强大的FLEX组件,它的Excel风格界面和丰富的功能使得在Flex应用中实现...

    flex前台直接导出excel

    "flex前台直接导出excel"这个话题,指的是在使用Adobe Flex这一前端框架时,如何直接在客户端生成并导出Excel文件,而不需要通过服务器端如JSP或Java进行处理。这种方式可以避免因为字符编码问题导致的乱码,同时也...

    flex与java结合的excel导出

    13. **用户体验**:在导出过程中,应提供反馈,如显示进度条或消息,让用户知道操作正在执行且何时完成。 综上所述,Flex与Java结合的Excel导出涉及到前端的事件处理、参数传递、样式定义,以及后端的数据获取、...

    Flex中组件datagrid导出Excel

    在导出数据时,我们需要获取这个数据提供者,然后将其转换成适合Excel的格式。 3. **XML序列化**:在Flex中,我们可以利用XML或XMLList来表示数据,因为它们可以轻松地转换成字符串,方便写入文件。将DataGrid的...

    flex导出excel

    开发者可以通过研究和使用提供的源代码,了解如何在Flex环境中使用第三方库与Excel文件进行交互,从而提高开发效率。同时,这个项目还展示了如何组织和配置一个Flex项目,对于学习Flex开发流程也有一定的参考价值。

    flex 多层表头advancegrid 导出excel

    这个类可能会使用Adobe的Flex SDK中的PDF和Excel导出库,如PDFWriter和ExcelWriter。这些库允许我们以编程方式创建PDF和Excel文件,包括设置单元格的样式、合并单元格以及插入数据。 在处理多层表头时,我们需要在...

    Flex3ReadWriteExcel(flex3导入导出excel表格)

    在描述中提到的示例,就是通过Flex3的APIs来实现DataGrid中的数据导入到Excel以及从Excel导出数据的功能。这一过程涉及到两个关键步骤:数据的读取和数据的写入。 1. 数据读取: - 使用Flex3中的FileReference类,...

    Flex导出Excel

    在Flex中,如果你需要将数据导出为Excel格式,这是一个常见的需求,特别是当你需要提供用户下载大量数据的功能时。本篇文章将深入讲解如何在Flex中实现Excel文件的导出。 在Flex中,我们通常不直接操作Excel文件,...

    将flex页面数据导出到excel

    本篇将详细讲解如何在Flex页面上实现数据导出到Excel的功能。 Flex是一种基于Adobe Flash Player运行时的开放源代码框架,主要用于构建富互联网应用程序(RIA)。它允许开发者创建具有丰富用户体验的交互式应用,但...

    Flex导出excel文件例子

    `swc`是Flex的库文件格式,用于封装代码库以便在Flex项目中使用。 在Flex中导出Excel文件,通常分为以下几个步骤: 1. **集成as3xls库**:首先,你需要将as3xls库添加到你的Flex项目中。这可以通过将as3xls的SWC...

    Flex的DataGrid导出Excel

    2. **捕获DataGrid数据**:在导出Excel之前,你需要获取DataGrid中显示的所有数据。这可以通过遍历DataGrid的items或使用Flex提供的数据绑定机制来实现。将每个单元格的数据保存到一个二维数组中,以模拟Excel的行和...

    Flex 导出Excel FlextoExcel

    Flex利用JSP导出Excel Flex利用JSP导出Excel

    MecGrid在Web应用中导出Excel表实例

    MecGrid是一款功能强大且漂亮的组件,几天用下来非常满意,但是该组件导出为Excel只支持Air桌面程序,由于业务需要画了点时间做了一下,该实例可以在Flex Web应用中导出Excel表,导出效果和Air下导出的效果一样,...

    FLEX导出EXCEL支持合并隐藏单元格

    在Flex导出Excel的过程中支持合并功能,意味着用户可以在导出前对数据网格中的数据进行格式化,以适应更复杂的报告需求。 4. **隐藏**:隐藏单元格指的是在导出到Excel时,可以选择性地不显示某些单元格中的数据。...

Global site tag (gtag.js) - Google Analytics