|
|
|
Экспорт таблицы из txt файла в excel используя разделители
|
|||
|---|---|---|---|
|
#18+
Как это все можно осуществить? Необходимо это все, чтобы передать содержание datawindow в excel. Сохраняю все строки отчета через saveasascii, открывая через Excel напрямую ручками отчет отлично выглядит. Хочу сделать тоже самое, только используя PB, создаю ole объект, соединяю его с excel.application, а вот дальше ступор, используя функцию Open для этого объекта получаю первый столбец, в каждой ячейке которого записаны строчки текстового файла. Возможно ли открыть этот файл учитывая разделители? Куда копать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2007, 16:38 |
|
||
|
Экспорт таблицы из txt файла в excel используя разделители
|
|||
|---|---|---|---|
|
#18+
копай в сторону Copy/Paste ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2007, 16:48 |
|
||
|
Экспорт таблицы из txt файла в excel используя разделители
|
|||
|---|---|---|---|
|
#18+
Если не трудно, можно по подробнее? Копировать данные из datawindow, подцепить Ole объект к экселю и вставить данные в него? Но при такой процедуре вставляются все данные, а так как прога досталась по наследству и тогда не задумывались еще над вопросом передачи отчетов в эксель, то есть много левых столбцов, которые потом удалять через скрипт. И кажется при использовании функции Paste не передаются названии столбцов? Или я ошибаюсь? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2007, 17:07 |
|
||
|
Экспорт таблицы из txt файла в excel используя разделители
|
|||
|---|---|---|---|
|
#18+
Toxamor wrote: > Куда копать? В сторону остальных параметров функции Open() ;). Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2007, 17:15 |
|
||
|
Экспорт таблицы из txt файла в excel используя разделители
|
|||
|---|---|---|---|
|
#18+
а какой параметр функции open передает экселю что открываем текстовый файл с разделителем ,?:) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2007, 17:23 |
|
||
|
Экспорт таблицы из txt файла в excel используя разделители
|
|||
|---|---|---|---|
|
#18+
Toxamor wrote: > а какой параметр функции open передает экселю что открываем текстовый > файл с разделителем ,?:) 4-й. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2007, 17:25 |
|
||
|
Экспорт таблицы из txt файла в excel используя разделители
|
|||
|---|---|---|---|
|
#18+
>> а какой параметр функции open передает экселю что открываем текстовый >> файл с разделителем ,?:) >4-й. sourcestorage? Какое значение тогда нужно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2007, 17:32 |
|
||
|
Экспорт таблицы из txt файла в excel используя разделители
|
|||
|---|---|---|---|
|
#18+
То есть функция будет ob.Application.WorkBooks.Opentext(filename,...,...,",")? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2007, 17:34 |
|
||
|
Экспорт таблицы из txt файла в excel используя разделители
|
|||
|---|---|---|---|
|
#18+
В смысле не opentext, a open ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2007, 17:35 |
|
||
|
Экспорт таблицы из txt файла в excel используя разделители
|
|||
|---|---|---|---|
|
#18+
Data window в Excel? Так есть же функция Saveas.Приходилось её пользовать по жизни. Чтоб сохраняемый файл нормально открылся екселем,поставить тип файла Excel5! или text!,а так как имя файла вы сами задаёте,то не стесняйтесь,ставьте расширение .xls. Мне приходлось так забивать биржевый отчёт из dw в excel,давно было,но работало. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2007, 17:41 |
|
||
|
Экспорт таблицы из txt файла в excel используя разделители
|
|||
|---|---|---|---|
|
#18+
>Так есть же функция Saveas.Приходилось её пользовать по жизни. >Чтоб сохраняемый файл нормально открылся екселем,поставить тип файла Excel5! или text!,а так >как имя файла вы сами задаёте,то не стесняйтесь,ставьте расширение .xls. >Мне приходлось так забивать биржевый отчёт из dw в excel,давно было,но работало.[/quot] Использование данной функции не устраивает тем, что передаются все данные, но юез названий столбцов и итогов по группам, как и названия самих групп, то есть приходится все это потом приводить в соответствующий вид, а если сохранять в формате ascii, то все эти данные есть, остается только выгрузить их в Excel ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2007, 17:52 |
|
||
|
Экспорт таблицы из txt файла в excel используя разделители
|
|||
|---|---|---|---|
|
#18+
Toxamor wrote: > sourcestorage? Какое значение тогда нужно? Посмотри в Help-е по VBA... Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2007, 17:56 |
|
||
|
Экспорт таблицы из txt файла в excel используя разделители
|
|||
|---|---|---|---|
|
#18+
Пардон,названия столбцов эта saveas выдаёт,есть там 3-й параметр,его надо поставить на true. Более того,если вы вскроете сорс data window и поменяете значение параметра колонки data window ,который зовётся dbname,на что-то типа "Я ушёл в кино",то в екселе в заголовке появится "Я ушёл в кино". У экстернал datawindow это свойство доступно из пейнтера. Что касается вычислемых полей-ваша правда-не покажет,где бы они не были в строке или в трейлере. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2007, 18:56 |
|
||
|
Экспорт таблицы из txt файла в excel используя разделители
|
|||
|---|---|---|---|
|
#18+
Матка боска! Как же мучаются люди у которых нету 55€ на покупку dw2xls! Аж слезы на глаза наворачиваются от жалости. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2007, 01:28 |
|
||
|
Экспорт таблицы из txt файла в excel используя разделители
|
|||
|---|---|---|---|
|
#18+
Ну я сильно не мучался, просто было самому интересно, да и начальник сказал: пусть программа выгружает данные в эксель, а то что я могу написать служебку чтобы мне купили библиотеку dw2xls за 55 евро, не сказал да и думаю не скажет:), политика не та. Да и идеальное совпадение не требуется... Спасибо всем кто откликнулся, пошел через экспорт в ascii, затем покопался в хелпе по VBA, конкретно по функции, нарыл то что нужно и теперь все замечательно работает:) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2007, 00:21 |
|
||
|
Экспорт таблицы из txt файла в excel используя разделители
|
|||
|---|---|---|---|
|
#18+
ЗоринАндрейМатка боска! Как же мучаются люди у которых нету 55€ на покупку dw2xls! Аж слезы на глаза наворачиваются от жалости. +1/ хотя я ее купил еще за 22 бакса ;) сделали б чтоль для х-усср по 22 бакса, а для злых буржуев по 55 евро... Хотя... Стоящая весчь! Но 22 бакса не так жалко ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2007, 00:59 |
|
||
|
Экспорт таблицы из txt файла в excel используя разделители
|
|||
|---|---|---|---|
|
#18+
Мда, теперь начальство кинуло в другую сторону, необходимо все это переписать под опенофисовский Calc. Начал потихоньку разбираться, но столкнулся вот с чем: o1 = CREATE oleobject li_n = o1.ConnectToNewObject("com.sun.star.ServiceManager") IF li_n <> 0 THEN MessageBox('Ошибка соединения с OpenOffice!', 'Код = ' + String(li_n),StopSign!) DESTROY o1 Return END IF ole_document=create oleobject ole_desctop=CREATE oleobject dispatcher=create oleobject ole_desctop = o1.CreateInstance('com.sun.star.frame.Desktop') ole_document = ole_desctop.LoadComponentFromURL('file:///' + ls_path, "_blank", 0,b_array) Все работает нормально, но проблема в кодировке, данные попросту отображаются не в windows_1251. Порылся в документации и нашел то, что за фильтр открытия отвечает четвертый параметр, который массив. Но никак не соображу, как его задать. Также нашел код, который, как я понял, открывает текстовый файл с разделителями, о чем я спрашивал раньше. Dim Doc As Object Dim FileProperties(0) As New com.sun.star.beans.PropertyValue Dim Url As String Url = "file:///C:/csv.doc" FileProperties(0).Name = "FilterName" FileProperties(0).Value ="scalc: Text - txt - csv (StarOffice Calc)" Doc = StarDesktop.loadComponentFromURL(Url, "_blank", 0, FileProperties()) Но язык - Basic. Пишу на билдере недавно и никак не могу понять, как мне задать этот четвертый параметр? который в примере FileProperties? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.10.2007, 15:32 |
|
||
|
Экспорт таблицы из txt файла в excel используя разделители
|
|||
|---|---|---|---|
|
#18+
похоже соответствует массиву структур ----------------------------------------------------------------------------- Главная деталь любой машины - голова ее владельца ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.10.2007, 15:54 |
|
||
|
Экспорт таблицы из txt файла в excel используя разделители
|
|||
|---|---|---|---|
|
#18+
До этого я не додумался, а ведь правда похоже, а как задать тип данной структуры, в коде это вроде бы com.sun.star.beans.PropertyValue. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.10.2007, 16:05 |
|
||
|
Экспорт таблицы из txt файла в excel используя разделители
|
|||
|---|---|---|---|
|
#18+
элементы - string или массив char ----------------------------------------------------------------------------- Главная деталь любой машины - голова ее владельца ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.10.2007, 17:18 |
|
||
|
Экспорт таблицы из txt файла в excel используя разделители
|
|||
|---|---|---|---|
|
#18+
spas2001элементы - string или массив char ----------------------------------------------------------------------------- Главная деталь любой машины - голова ее владельца Ну то что элементы string я понял, но все равно при вызове loadcomponentfromurl при следующим коде: dw_2.SaveAs(ls_path,csv!,false) s_oofilter lstr_filtr lstr_filtr.Name = "FilterName" lstr_filtr.Value ="scalc: Text - txt - csv (StarOffice Calc)" ole_document=create oleobject ole_desctop=CREATE oleobject ole_desctop = o1.CreateInstance('com.sun.star.frame.Desktop') ole_document = ole_desctop.LoadComponentFromURL('file:///' + ls_path, "_blank", 0,lstr_filtr) Вылетает ошибка (вложена). Вообще мне кажется что все проблемы в кодировке из-за типа сохраняемого файла - excel5!, потому что, когда открываешь файл экселем, сохраняешь в формате ексель 2000, а потом открываешь документ в OOo, то все отображается нормально. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.10.2007, 17:51 |
|
||
|
Экспорт таблицы из txt файла в excel используя разделители
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.10.2007, 17:52 |
|
||
|
Экспорт таблицы из txt файла в excel используя разделители
|
|||
|---|---|---|---|
|
#18+
Лучше наверное не create, а ConnectToNewObject и обращаться используя object А что мешает сохранить в exel8! ----------------------------------------------------------------------------- Главная деталь любой машины - голова ее владельца ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.10.2007, 18:37 |
|
||
|
Экспорт таблицы из txt файла в excel используя разделители
|
|||
|---|---|---|---|
|
#18+
spas2001Лучше наверное не create, а ConnectToNewObject и обращаться используя object А что мешает сохранить в exel8! ----------------------------------------------------------------------------- Главная деталь любой машины - голова ее владельца ну функция коннект используется выше по скрипту, когда мы подключаем сервисменеджер. Может где то и ошибаюсь, просто в качестве вдохновления я использую документацию по openoffice.org basic, а там сказано то, что необходимо сначала подключить класс сервис, через коннект, а потом create. И уже затем открывать существующий документ. А насчет 8й версии эксель, пишем мы на 8 билдере, там в помощи его просто нет:( край, это 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.10.2007, 20:13 |
|
||
|
Экспорт таблицы из txt файла в excel используя разделители
|
|||
|---|---|---|---|
|
#18+
С кодировкой разобрался, сохраняю документ в формате CSV, далее подключаю все нужные сервисы OOo, и открываю документ, сохраненный ранее. При этом задаю значения массива, которые указывают на то, что при открытии нужно использовать фильтр для csv. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. Все отлично работает, но есть одно но: по умолчанию ООо открывает документ используя в качестве разделителя запятую, что неуместно, так как есть запятые и в ячейках. Может кто нибудь поделиться советом, какой параметр FilterOptions крутить, чтобы явно задать этот разделитель, или кинет ссылочку на документы. http://community.i-rs.ru/ уже просмотрел, вроде бы там нет примеров с конкретным разделителем. Буду благодарен:) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2007, 16:50 |
|
||
|
|

start [/forum/topic.php?fid=15&tid=1336816]: |
0ms |
get settings: |
10ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
38ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
55ms |
get tp. blocked users: |
2ms |
| others: | 12ms |
| total: | 154ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...