Как файл .xls Save As .txt?
#1
Отправлено 31 июля 2011 - 08:24
Моя тестируемая система выводит отчет только в формате .xls. Мне необходимо для дальнейшей работы превратить его в формат .txt.
Как это сделать средствами TestComplete?
#2
Отправлено 31 июля 2011 - 08:40
Посмотрите вот тут: Data Driven Testing. Там есть примеры чтения xls файлов.Подскажите, пожалуйста, как файл в формате .xls переписать в формат .txt.
Моя тестируемая система выводит отчет только в формате .xls. Мне необходимо для дальнейшей работы превратить его в формат .txt.
Как это сделать средствами TestComplete?
А отдельной функции для конвертирования, боюсь вы не найдете. Надо будет писать самому.
#3
Отправлено 31 июля 2011 - 16:09
#4
Отправлено 31 июля 2011 - 18:58
tab15, совершенно прав. Проще сохранить в csv. Хотя нет никакого труда сохранить в ЛЮБОМ нужном Вам формате. Для этого нужно обратится к Excel как COM_объектуМожет просто сохранить в csv формате?
// Excel - сохранить как---------------------------------------------------------------------------- // тип файла, если 1 - в формате "xls" // 6 - в формате "csv" function SaveAs(aFileName : String; aFileType : Integer = 1) : boolean; var vMsExcel : OleVariant; begin _FileDelete(aFileName); vMsExcel := _OleObjectCreate(); // сохраянем книгу vMsExcel.Workbooks.Item[1].SaveAs(aFileName, aFileType); vMsExcel.Quit(); vMsExcel := nil; // убиваем процесс while Sys.WaitProcess('EXCEL').Exists do Sys.Process('EXCEL').Terminate(); // проверяем, существует ли сохраняемый файл; это и будет проверкой, что данная функция отработала нормально result := _FileExists(aFileName); end;
или
// Excel - сохранить как... // тип файла, если 1 - в формате xls, 6 - в csv function ExcelSaveAs(aFileName : String; aFileType : Integer = 1) : boolean; var vMsExcel : OleVAriant; p1 : OleVAriant; begin if aqFile.Exists(aFileName) then aqFile.Delete(aFileName); Delay(2000); // ожидание открытия окна MSExcel p1 := Sys.WaitProcess('EXCEL', 120000, -1); Delay(2000); // тут уж ничего неподелаешь ... непонятные тормоза независящие от процесса if not (p1.Window('XLMAIN', '*').Window('XLDESK').WaitWindow('EXCEL7', '*', 1, 120000).Exists) then begin Log.Error('Окно Excel не открылось. Тест продолжен не будет'); if Sys.WaitProcess('EXCEL').Exists then p1.Terminate(); CloseProcess; Runner.Stop(true); end; p1.Window('XLMAIN', '*').Minimize(); Delay(5000); vMsExcel := Sys.OleObject('Excel.Application'); vMsExcel.DisplayAlerts := False; vMsExcel.Workbooks.Item[1].SaveAs(aFileName, aFileType); vMsExcel.Displayalerts := 0; // типа отключить встроенные предупреждения Excel'я vMsExcel.Quit(); vMsExcel := nil; while Sys.WaitProcess('EXCEL').Exists do Sys.Process('EXCEL').Terminate(); if aqFile.Exists(aFileName) then begin Log.Message('Файл: ' + aFileName + ' - успешно сохранен.'); result := true end else begin Log.Error('Файл: ' + aFileName + ' - не сохранен.'); result := false; end; end;
#5
Отправлено 02 августа 2011 - 17:34
#6
Отправлено 02 августа 2011 - 18:48
Эдуард, как Вы могли такое подумать!Никому не интересно? Или банальные вещи?
Просто на форумах не всегда полезный пост сопровождается положенными благодарностями.
Может топик-стартер уже сам решил проблему. Может просто занят и не заходит на форум. Может ещё почему.
Так что я за всех скажу -- muchas gracias!
Побольше бы таких "банальных" ответов, подробно и по существу.
Тренинги для тестировщиков (тестирование производительности, защищенности, тест-дизайн, автоматизация):
Линейка тренингов по Selenium
#7
Отправлено 03 августа 2011 - 15:06
Спасибо, Алексей. Вы не правильно меня поняли :). Я, конечно, не жду благодарности. Ну право слово, все мы бываем воспрошающими и бываем отвечающими. Я интересовался, решена ли проблема? Предложенные варианты удовлетворили топикстартера.Просто на форумах не всегда полезный пост сопровождается положенными благодарностями.
Так что я за всех скажу -- muchas gracias!
Побольше бы таких "банальных" ответов, подробно и по существу.
Но все равно, приятно получить "muchas gracias" :)
Количество пользователей, читающих эту тему: 1
0 пользователей, 1 гостей, 0 анонимных