Есть прибор, который измеряет пары параметров. Результаты записывает в файлы (приведу ниже). Задача - разделить строки файла на параметры с соответствующими значениями и единицами измерения, отправить их в таблицу эксель. В итоге надо построить графики. Или может другие предложения будут? Главное - построить графики.
Ето ж rtf файлы. Зачем их в txt? Открывай в wordе, преобразовать текст в таблицу, заменить точки на запятые в числовых столбцах, скопировать вставить в Excel. Если файлов много и делать надо часто - написать скриптик.
Чего подробнее? Всю последовательность действий я описал, только запрограммировать ее и все. Типа: var word = new ActiveXObject("Word.Application"); var doc = word.Documents.Open('c:\\Temp\\11.rtf'); doc.Paragraphs(1).Range.Delete(); doc.Range().ConvertToTable(','); Ну и так далее.
Ну... не знаю... в документации... Доки по jscript и vba входят в состав MS Office. Или в msdn. добавлено через 2 минуты Если разбираться с объектами wordа, excelя то удобнее всего через Object Browser (Alt+F11, F2) а из него уже help смотреть.
HELL'o, или, если разбираешься в ЯП общего назначения, можешь написать стороннее приложение, которое парсит входной файл (или как вариант, открывает его в word и тупо берет данные уже оттуда), а затем экспортирует все в Excel. Все начинается с магических строк ExcelApp := CreateOleObject('Excel.Application'); Гугл тебе в помощь
А зачем для посадки мелких кустарников использовать экскаватор? в Екселе вообще можно открыть txt файл просто через OpenFile и на заинтересованный вопрос о разделителе сказать шо это , (как я понял из предложенного файла) и вуаля, перед вами таблица, которую можно сохранить с расширением xls и делать с ней что душе угодно...
Да, кстати, ест очень удобный формат файлов, называется CSV. Простой текстовый формат, разделители между колонками - точка с запятой, а между строками - перенос строки. Остается привести исходный файл в такой вид (своим парсером например) и открыть екселем. Сам часто пользуюсь, но сейчас вылетело из головы
HELL'o требуется из rtf файла создать таблицу в Excel. Я предложил rtf открыть в Worde, преобразовать в таблицу и скопировать в Excel. Сер-Аджани считает, что это использование экскаватора для посадки кустарника. Вопрос: как он прелагает октрывать rtf файлы в Excel без использования экскаватора?
Да мне, собственно, все равно - будет там экскаватор или бульдозер. Главное результат. А вообще, надо начинать с того, чтобы ПО самого прибора до ума довести. 70 или 50 тр отдали за прибор несколько лет назад, а оно сырое. Исходников нет, поэтому выкручиваемся.
На счет ртфности этого файла могу поспорить. Скорее это всё же некий псевдоrtf, поскольку структура соблюдается лишь отчасти и в области непосредственно данных абсолютно не соответствует стандарту RTF. И Экселем открывается на ура, как любой текстовый файл с разделителями (по умолчанию этот формат называется CSV, как справедливо заметил Pasha , хотя на самом деле расширение файла абсолютно не имеет никакого значение, его может и вовсе не быть, ексель проверяет структуру внутри файла). Выложить результат или не надо?
Сер-Аджани, Согласен, эти конкретные файлы можно октрыть сразу в Excel, но там все-равно надо обрезать заголовки и подвалы, лишние столбцы, делать поиск-замену. Через word просто меньше телодвижений надо будет сделать (ну может также). И где гарантия, что все файлы во всех случаях подойдут под один шаблон? Если rtf генерится внешней библиотекой (на 99% это так), то формат служебных тэгов может измениться, скажем, при установке другой версии rich text control. Содержимое самого rtf не изменится при этом и через word он будет также открываться. Короче, wordу - wordово (rtf), excelю - exceлево. Хотя можно сделать и наоборот, конечно.
Сер - Арджани, получается не совсем то, что нужно. Panda -34 прав. Завтра будет время почитать книжонку про работу с ОЛЕ, потом отчитаюсь .
HELL'o , так у вас строки данных начинаются с одного и того же значения: "\par", вот их и выдергивать из файла. в самих же строках разделителем считается ",", а потом формировать из этого набора файл эксэля. остальные данные(шапки записей, еденицы измерения)можно не брать в обработку.
Kot.85, "... Завтра будет время почитать книжонку про работу с ОЛЕ ..." за 21 день которое? ну-ну. а вообще не занимайтесь ерундой, попробуйте найти обработчик текстовых файлов, который может в пакетном режиме работать, а потом готовый файл в Экселе открывайте. можете там даже макрос написать по построению диаграмм. а вот Вам и обработчик http://www.vknoware.com/afr/index.htm
AlTk, что за книжка? добавлено через 6 минут дюже заморочено, я про программу. проще и быстрее написать прогу, которая будет выбирать нужные данные и кидать их в эксель. можно сразу ее озадачить и графики строить там же.
И что там сложного в этом ОЛЕ? Для выполнения задания такого уровня (экспорт данных из БД в эксель) мне было достаточно двух дней практики. А программу для преобразования этого файла в CSV могу написать за пару часов ( с обедами и чаями ), если автору это надо. Хотя, как я думаю, Kot.85 предлагает вполне хороший вариант.
Kot.85, Книга: Программирование OLE. Освой самостоятельно за 21 день Авторы: Лоуренс Харрис Издательство: "Бином" Переплет: мягкий, год издания: 1995, страниц: 464 ISBN: 5-7503-0056-0, 0-672-30568-2, тираж: 12000 экз., но ни в коем случае не рекомендую ничего по ней изучать. просто прочитать один раз и все, а иначе мозг взорвется. лучше начать с Д.Роджерсона. "Основы СОМ" "... проще и быстрее написать прогу ..." с некоторых пор я не уверен в этом. Pasha, "... И что там сложного в этом ОЛЕ ..." ну-ну. мы про разное "оле" говорим добавлено через 1 минуту Pasha, "... Kot.85 предлагает вполне хороший вариант ..." да согласен. но я предлагаю лучше.
Kot.85, "... что предлагается? ..." предлагается возможность декларативной настройки изменения структуры файла для правильного его открытия в Excel. без привязки к какому-либо языку программирования, без знания объектных моделей приложений и т.д. и т.п. без перепрограммирования в случае изменения структуры файла.
AlTk, задумка хорошая, но думаю к данной ситуации она сложно применима, эт получается из пушки по воробьям, да и думаю ресурсов она будет кушать много, а если написать маленькую прогу, которую можно будет в шелдер закинуть, то думаю будет самый оптимальный вариант.
Kot.85, это не задумка. это реалии. "... но думаю к данной ситуации она сложно применима, эт получается из пушки по воробьям, да и думаю ресурсов она будет кушать много, а если написать маленькую прогу, которую можно будет в шелдер закинуть, то думаю будет самый оптимальный вариант. ..." мне почему-то кажется, что мне трудно будет Вам объяснить преимущества моего варианта.
AlTk, попробуйте. просто из опыта работы: в больщенстве случаев используют решения "тупые как кирпич" вместо чего-то персективного и лучшего. причин много, от технической невозможности внежрения, до нежелания персонала/начальства разбираться в чем-то новом, если старое работает хорошо.
попробую. 1. ресурсы не важны. сейчас за копейки можно купить много оесурсов. к тому же та обработка текста, о которой мы говорим, не является ресурсоемким приложением 2. зачем вообще писать прогу, зачем тратить ресурсы программиста на написание маленькой проги? программиста может не быть. на чем писать прогу? как быть с поддержкой этой проги? что делать если прогу надо по какой-либо причине изменить 3. да какая разница где эта прога торчит. пусть хоть на весь экран. лишь бы свое дела лелала. ПС. ну и чем же предлагаемое Вами решение перспективнее и лучше? зря Вы не нажали на приведенную мной ссылку. или нажали и не посмотрели или не знаете о чем идет речь. короче Вам хватит 2250 долларов для того, чтобы реализовать весь приведенный функционал? если Вы скажете, что весь функционал не нужен, и сделаете дешевле, то тогда мой впрос будет звучать так: на какой хрен мне поделка студента-программиста, которая с трудом может обработать файл определенного вида, если я за 39 долларов получу полноценный функционал, реализованный в фирменном продукте, завоевавшем множество наград, плюс техподдержку, пусть и для работы на одном компьютере?
AlTk, ох как! эт как ресурсы не важны? а куда же деть оптимизацию? для чего тогда писались архиваторы? вот тут я с вами категорически не согласен. купить их за копейки... ну это уже от конкретной задачи стоимость будет формироваться. про обработку текста: сама обработка мало требует, а вот софтина которая ее обрабатывает может быть довольно прожорливой. по пункту 2 и 3. по вашему программер должен только глобальные проекты делать? ресурсы программера тратятся на написание проги, а уж маленькая она или большая - пофих. по поводу изменения программы - если исходник менять, то да, без программера никак, а если есть возможность подключать плагины/модули? существует много способов расширения. и еще, где прога "торчит" имеет очень большое значение, относящиеся к тем же ресурсам. п.с. прогу по вашей ссылке я скачал, посмотрел и попробовал. ничего сверхъестественного в ней нет. я скажу, что весь функционал мне не нужен, а нужно лиш то, то и то, тогда вопрос звучит так, а на какой хрен мне платить 40 бакинских за то чем я пользоваться не буду? и почему студент-программист напишет "поделку"? почему софт будет с трудом работать? откуда столько негатива сразу?
эээ... это как? оптимизацию не девают, а ее придумывают и внедряют Т.е. интерфейс более ресурсоемкий, чем обработка данных? Что-то тут не так... Ну, я думаю, главное преимущество - какая-то надежда на продолжение поддержки и усовершенствование платного варианта программы. Со студентом все посложнее конечно, потому что гарантий он никаких не даст... А с остальным - согласен, приложения могут быть разработаны в профессиональном смысле грамотно, и в данном конкретном случае еще и под конкретную задачу. Главное - грамотный студент Никто не мешает разработать сразу гибкую программу, настраивающуюся под множество вариантов использования, с возможностью добавлять плагины и т.д. Это делается не так уж и сложно. Главное - подробная документация, что помогает в будущем поддерживать программу своими силами или теми же фрилансерами. AlTk, Kot.85, я думаю, что Вы предложили уже достаточно обоснованные точки зрения, чтобы автор топика смог исходя из них выбрать более подходящее для него решение - может, ему главное сделать это быстро и бесплатно, или ориентироваться на долгосрочное использование.