MecGrid生成Excel

<?xml version="1.0" encoding="utf-8"?>
<mx:Application
				xmlns:MecGrid="com.mechan.MecGrid.*"
				xmlns:mx="http://www.adobe.com/2006/mxml"
				>
	<mx:Script>
		<![CDATA[
			import mx.utils.Base64Encoder;
			import com.mechan.export.MecExporter;
			import mx.collections.ArrayCollection;
			import mx.core.IFlexDisplayObject;
			import mx.managers.PopUpManager;
			import mx.events.CloseEvent;
			import mx.controls.Alert;

			// This demonstrates how you can set MecGrid properties by XML.
			// You can build ResourceXML With MecGridWizard by Exporting and copy to clipboard the source XML.
			//
			// Reversely you can set the property of XML String to Binary data and vice versa.

			private var dpcol:ArrayCollection;

			private var dp:Array;


			private function MakeData():void
			{
				var i:int;
				var n:int = 0;

				dp = new Array();

				for (i=0; i < max.value; i++)
				{
					var obj:Object = new Object();
					obj.selected = false;
					obj.country = "cntr" + i;
					obj.city = "city" + i;
					obj.qt1 = Math.random() * 100;
					obj.qt2 = Math.random() * 100;
					obj.qt3 = Math.random() * 100;
					obj.qt4 = Math.random() * 100;

					dp.push(obj);
				}

				dpcol = new ArrayCollection(dp);
				LoadData();
			}

			private function LoadData():void
			{
				if (dpcol == null)
				{
					Alert.show("Click Make Data Button first!");
					return;
				}

				mgrid.dataProvider = dpcol;
			}

			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)
					{
						Alert.show(e.message);
					}
				}
			}
		]]>
	</mx:Script>
	<mx:HBox>
		<!--这个是用来指定生成的数据的条数的-->
		<mx:NumericStepper id="max" maximum="100" minimum="10"/>
		<!--生成数据-->
		<mx:Button label="make data" click="MakeData()"/>
		<mx:Button label="export" click="exportToExcelFile()"/>
	</mx:HBox>

	<MecGrid:MecGrid id="mgrid" width="100%" height="100%">
		<MecGrid:ResourceXML>
			<!--生成表头,数据与表头的生成不是在同一时刻完成的-->
			<mx: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>	
			</mx:XML>
		</MecGrid:ResourceXML>
	</MecGrid:MecGrid>

</mx:Application>


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值