Показать сообщение отдельно
Старый 26.08.2011, 17:56
Apikaster вне форума Посмотреть профиль Отправить личное сообщение для Apikaster Найти все сообщения от Apikaster
  № 4  
Ответить с цитированием
Apikaster

Регистрация: Sep 2010
Сообщений: 36
Код AS3:
                        private var data:Array = [
				{name:"Керим", fullname:"Жарилгасинов", age:''},
				{name:"Лэйла", fullname:"Джумаева", age:20},
				{name:"Niyazbek", fullname:"Turganbaev", age:32},
				{name:"Dmitry", fullname:"Pirozhennikov", age:33}
			];
			private var types:Array = [
				{name:"name", title:"Имя"},
				{name:"fullname", title:"Фамилия"},
				{name:"age", title:"Возраст"}
			];
			protected function button1_clickHandler(event:MouseEvent):void
			{
				var xls:ExcelExport = new ExcelExport(data, types);
			}
Код AS3:
package {
	import flash.net.FileFilter;
	import flash.net.FileReference;
	import mx.charts.chartClasses.NumericAxis;
	public class ExcelExport {
		public function ExcelExport(data:Array, title:Array) {
			var ExpandedColumnCount:Number;
			var h:Number = 0;
			var xmlData:String = new String();
			xmlData += '<Row ss:AutoFitHeight="0">';
			for (var i:int = 0; i < title.length; i++){
				xmlData += '<Cell><Data ss:Type="String">'+title[i].title+'</Data></Cell>';
			}
			xmlData += '</Row>';
			for (var row:Object in data){
				xmlData += '<Row ss:AutoFitHeight="0">';
				for (var j:int = 0; j < title.length; j++){
					h++;
					var word:* = data[row][title[j].name];
					var type:String = new String();
					if (word is String){
						type = "String";
					}
					if (word is Number){
						type = "Number";
					}
					xmlData += '<Cell><Data ss:Type="'+type+'">'+data[row][title[j].name]+'</Data></Cell>';
				}
				xmlData += '</Row>';
			}
			ExpandedColumnCount = h / data.length;
			var ExpandedRowCount:Number = data.length + 1;
			var xml:String = new String();
			xml += '<?xml version="1.0"?><?mso-application progid="Excel.Sheet"?><Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet" xmlns:html="http://www.w3.org/TR/REC-html40">';
			xml += '<Worksheet ss:Name="Лист">';
			xml += '<Table ss:ExpandedColumnCount="'+ExpandedColumnCount+'" ss:ExpandedRowCount="'+ExpandedRowCount+'" x:FullColumns="1" x:FullRows="1" ss:DefaultRowHeight="15">';
			xml += xmlData;
			xml += '</Table></Worksheet></Workbook>';
			var file:FileReference = new FileReference();
			var ExcelFilter:FileFilter = new FileFilter("Excel", "*.xls;*.xlsx;*.xml");
			file.save(xml, "Выгрузка в Excel.xls");
		}
	}
}
это пример просто с ArrayCollection. а если с дата грида то еще легче.
Удачи.


Последний раз редактировалось Apikaster; 01.09.2011 в 11:25.