Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 04.06.2010, 21:42
Flasher_as3 вне форума Посмотреть профиль Отправить личное сообщение для Flasher_as3 Найти все сообщения от Flasher_as3
  № 1  
Ответить с цитированием
Flasher_as3

Регистрация: Mar 2010
Сообщений: 16
По умолчанию Excel файл с данными

Добрый вечер Ребята!
Вот пытаюсь наладить "связь" между flash и Excel...
Нарисовал 5 точек, и пытаюсь координаты этих 5 точек экспортировать в Excel в виде таблички...
Но вот не очень то получается:В принципе файл Excel создается и данные показывает, но не так как хотелось бы...
Не подскажите ли что не так сделал?
Ниже привел свой код - если будет время посмотрите пожалуйста... Я еще прикрепляю 2 excel файла:baza - это то, что получается из программы, а Книга1 - это то,что хотелось бы получить...
С Уважением!
Код AS3:
import flash.display.Sprite;
import flash.net.FileReference;
import fl.controls.Button;
 
 
//--создаём контейнер и добавляем его на сцену
var Container:Sprite=new Sprite();
addChild(Container);
 
//--создаём кружки и добавляем в контейнер
for (var q=0;q<5;q++){
var circle:Sprite = new Sprite();
circle.graphics.beginFill(0xFFCC00);
circle.graphics.drawCircle(0, 0, 10);
circle.x=q*100;
circle.y=40
Container.addChild(circle);
}
var xdata:XML=
<VFPData>
</VFPData>
//опрашиваем контейнер:
var c:Sprite;
 for (var i:int=0; i<Container.numChildren; i++) {
   c=Container.getChildAt(i) as Sprite;
     //trace(c.x, ' ',c.y);
     xdata.appendChild(<body><x>{c.x}</x><y>{c.y}</y></body>);
}
 
 
var myButton:Button = new Button();
myButton.emphasized = true;
myButton.width = 150;
myButton.move(320, 20);
addChild(myButton);
myButton.addEventListener(MouseEvent.CLICK, asd);
 
function asd(e:MouseEvent):void{
	//trace(xdata);
var file:FileReference = new FileReference();
file.save(xdata,'baza.xls');
}
Вложения
Тип файла: rar baza.rar (150 байт, 44 просмотров)
Тип файла: rar Книга1.rar (1.5 Кб, 47 просмотров)

Старый 05.06.2010, 00:34
alatar вне форума Посмотреть профиль Отправить личное сообщение для alatar Найти все сообщения от alatar
  № 2  
Ответить с цитированием
alatar
 
Аватар для alatar

блогер
Регистрация: Dec 2008
Адрес: Israel, Natanya
Сообщений: 4,740
Записей в блоге: 11
Сохрани Книга1 в виде xml, посмотри что получилось и сделай точно так же.

Старый 07.06.2010, 16:25
Flasher_as3 вне форума Посмотреть профиль Отправить личное сообщение для Flasher_as3 Найти все сообщения от Flasher_as3
  № 3  
Ответить с цитированием
Flasher_as3

Регистрация: Mar 2010
Сообщений: 16
alatar я попробывал сделать как Вы сказали, но ничего не получается...
В коде он мне пишет ошибку на первой же строке.... Авы не сможете показать на примере? не обязательно на этом...Любой другой - просто никак я не могу разобраться...
С Уважением!

Старый 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.
Создать новую тему Ответ Часовой пояс GMT +4, время: 12:36.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 12:36.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.