Просмотр полной версии : Как осуществить экспортирование данных из среды макромедия
Здравствуйте!Я создаю что то вроде тестирующего пособия.Мне требуется выводить результаты тестирования в файл майкрософт офиса.Возможно ли это?подскажите пожалуйста.заранее благодарю.
Александр Мостовой
06.04.2013, 15:51
файл майкрософт офиса
У майкрософта много форматов данных и приложений.
Самое простое для вас решение выводить данные в формат CSV, который умеет открывать Exel. Он представляет из себя простой текстовый файл со значениями в кавыках через запятую
"value1", "value2", "value3"
Ну, а вообще во флеше можно практически все и на многое уже есть готовые решения. Если нужен другой формат поищите поиском готовую библиотеку. Уверен что библиотеки rtf и xls уже существуют.
Ну а в docx, например, вы можете разобраться и самомтояетльно:
переименуйте расширение с docx на zip, и получите обычной архив содержащийв себе хмл и медиаданные. Нелья, конечно сказать что разобратьс очень просто, но менять некоторые эелементы не составит большого труда
caseyryan
06.04.2013, 16:36
А никого не смутил тот факт, что тема в разделе ас3, а вопрос по макромедия флеш?
В ней нет ас3.
Александр Мостовой
06.04.2013, 16:40
хе-хе :)
Еще не известно в чем именно ошибка. Есть люди которые до сих пор любой Флеш называют "Макромедия Флеш". В конце концов - Адоби до сих пор хранят настройки в папке macromedia. :)
eft.ya, стоит все-таки рассказать по-подробнее про поставленную задачу и условия. Иначе вопрос становится очень обширным и на него сложно дать конкретный ответ.
Я извиняюсь,если кого то смущает моя неграмотность в этих вопросах,так как я действительно,мягко сказать "плаваю"...может быть я действительно не по адресу даже обращаюсь...
В моей работе в принципе ни чего сложного и грандиозного нет,тестирующее пособие по нескольким темам,с несколькими вариантами.В чем для меня трудность,когда подходит последний вопрос теста,студент нажимает кнопку "закончить".При нажатии этой кнопки результаты тестирования должны выводиться и сохраняться в файл doc или xls.Подскажите (желательно по подробнее) что здесь можно сделать,или может быть ссылку,где я смогу с этим со всем разобраться.
Александр Мостовой
07.04.2013, 14:04
Самое простое решение, как говорил, - сохранять в формат CSV. Эт опросто текстовый файл, который Exel умеет открывать, решение посложнее заюзать какую-нибудь библиотеку генерации RTF или PDF.
Добавлено через 6 минут
Сохранять в файл из флешки на диск можно так:
var fileLocal:FileReference = new FileReference();
fileLocal.save(byteArray, "fileName.ext");
Инициируется только по клику кнопки
byteArray - заполнить CSV данными
Вам не подходит CSV?
не знаю как с этим работать(((((
Александр Мостовой
07.04.2013, 16:00
Ну как говрил:
просто пишите значения через запятую в кавычках и Exel его понимает как родной
"value1", "value2", "value3"
допустим мои значения хранятся в переменных,то есть результаты тестирования ,1й вопрос- от 0 до 10 баллов это а1,второй а2 и тд.также в этот файл должно выводиться текущее время,номер варианта,и ФИО тестируемого. как мне это все описывать в коде,и как сформировать таблицу?
Добавлено через 11 минут
Результаты тестирования которые должны выводиться хранятся в переменных,допустим 1й вопрос от 0 до 10 баллов это а1,2й вопрос а2 и тд.Помимо этих цифер должны выводиться текущая дата,номер варианта,название темы,ФИО тестируемого...как это все организовать в коде?могли бы вы примерно(но подробно желательно) показать
Александр Мостовой
07.04.2013, 16:35
А вы код пишите во фреймах или классах?
Ну самый простой вариант увидеть файл - заполнить таблицу в Exel и сохранить как в CSV
Александр Мостовой
07.04.2013, 17:02
//Заполняем где-то в коде данные
var record:Object = {};
record.age = 33;
record.name ="asaa";
record.result = 42;
//и другие параметры, которые вам нужны
var records:Array = new Array();
records.push(record);
records.push(record);
records.push(record);
records.push(record);
//Вывод данных
var output:String = "";
//Выволим первую строку - заглоки полей
for (var paramName:String in records[0])
{
output += '"' + paramName + '", ';
}
output += "\r\n";
//Проходимся по всем записям
var len:uint = records.length;
for (var i:uint = 0; i < len; i++)
{
var record:Object = records[i];
for (var param:String in record)
{
//Выводим каждый параметр
output += '"' + String(record[param]) + '", ';
}
output += "\r\n";
}
trace(output);
Александр Мостовой
07.04.2013, 17:21
спасибо огромное
Тогда вот еще сохранение в файл :)
///Заполняем где-то в коде данные
var record:Object = {};
record.age = 33;
record.name ="ivan";
record.time =100;
record.result = 42;
//и другие параметры, которые вам нужны
var records:Array = new Array();
records.push(record);
records.push(record);
records.push(record);
records.push(record);
//Вывод данных
var output:String = "";
//Выволим первую строку - заглоки полей
for (var paramName:String in records[0])
{
output += '"' + paramName + '", ';
}
output += "\r\n";
//Проходимся по всем записям
var len:uint = records.length;
for (var i:uint = 0; i < len; i++)
{
record = records[i];
for (var param:String in record)
{
//Выводим каждый параметр
output += '"' + String(record[param]) + '", ';
}
output += "\r\n";
}
trace(output);
//Дальше кодирует в байты и сохраняете на диск при клике
stage.addEventListener(MouseEvent.CLICK, stage_clickHandler);
function stage_clickHandler(e:Event):void
{
var fileLocal:FileReference = new FileReference();
var bytesToSave:ByteArray = new ByteArray();
bytesToSave.writeMultiByte(output, "windows-1251");
bytesToSave.position = 0;
fileLocal.save(bytesToSave, "fileName.csv");
}
Только с кодировкой еще нужно посмотреть
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.