Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2010.10.10;
Скачать: [xml.tar.bz2];

Вниз

Есть ли такое?   Найти похожие ветки 

 
ixen   (2010-07-13 12:06) [0]

Во многих организациях пользуются прикладными программами использующими вывод данных в MS Excel. Но вот если организация решила перейти на OpenOffice? Программа не умеет с ним работать. Доработать программу для выгрузки в OO Calc нет возможности. Ну дык вот... у меня возникла такая мысль... может быть есть такая служба которая висит в памяти и ловит обращения к MS Office и переводит команды понятные OpenOffice. Т.е. получается некий посредник между прогой и OO Calc. Есть ли токое? Если нет, то реально ли такое осуществить?


 
Двенадцать ©   (2010-07-13 12:17) [1]

почему бы нет
зарегистрироваться как excel и получать команды, перенаправлять в OO
тока мутно это дело


> Доработать программу для выгрузки в OO Calc нет возможности

почему?
тут где-то в статьях есть как начать


 
Дмитрий С ©   (2010-07-13 12:18) [2]

OO Calc поддерживает COM ?


 
ixen   (2010-07-13 12:23) [3]

>
>
> [2] Дмитрий С ©   (13.07.10 12:18)
> OO Calc поддерживает COM ?

поддерживает


 
ixen   (2010-07-13 12:24) [4]

но мне кажется для реализации этой затеи все равно придется использовать мелкомягкие библиотеки от офиса... а это уже нельзя...


 
Дмитрий С ©   (2010-07-13 12:33) [5]

можно враппер сделать. с виду ексель, а на самом деле все переадресует ОО. я думаю такое уже есть, почему то мне так кажется.


 
Двенадцать ©   (2010-07-13 12:42) [6]

> но мне кажется для реализации этой затеи все равно придется
> использовать мелкомягкие библиотеки от офиса... а это уже
> нельзя...

понятное дело.
потому и
> мутно это дело


если сам экспорт не сложный и грамотно написан - переписать под OO не сложно
естественно, с потерей красивостей
а экспорт просто данных(тупо таблицы) переписывается за 15 минут


 
ixen   (2010-07-13 12:51) [7]

мне кажется написать такую службу аналогична написанию самого офиса...


 
Двенадцать ©   (2010-07-13 13:06) [8]

> написать такую службу аналогична написанию самого офиса

конечно

перепишите сам экспорт


 
_VirEx_   (2010-07-13 13:17) [9]

где-то слышал что уже есть две разработки - аналог com интерфейса для OO
гугл тебе в помощь


 
XXL   (2010-07-13 13:25) [10]

Враппер то враппером - только вот объектная модель у MSO и OO несколько разная...

Проще купить 1 екземпляр самого простого оффиса, в нём сохранять и открывать уже в OO.


 
Anatoly Podgoretsky ©   (2010-07-13 15:28) [11]

> ixen  (13.07.2010 12:06:00)  [0]

Реально, но надо иметь три головы.


 
Anatoly Podgoretsky ©   (2010-07-13 15:29) [12]

> ixen  (13.07.2010 12:24:04)  [4]

Это можно, только библиотеки должны быть поставлены легально.


 
Anatoly Podgoretsky ©   (2010-07-13 15:32) [13]

> XXL  (13.07.2010 13:25:10)  [10]

Проверял, совместимость только на словах, в простых случаях, при том в обе
стороны, MS OFFICE работает с файлами ОО.
Поэтому если нужна работа с двумя продуктами, то надо не сказками
заниматься, а делать две паралельные системы, только это гарантирует должное
качество и работоспособность.


 
XXL   (2010-07-13 21:40) [14]


> Anatoly Podgoretsky ©   (13.07.10 15:32) [13]

Я говорю не о совместимости файлов и не об возможности открытия, а о том что если при использовании MSO пишем к примеру

 Excel := CreateOleObject("Excel.Application");
 Excel.WorkBooks.Add(xlWBatWorkSheet);

то при использовании ОО код будет совсем другим

 SM:=CreateOleObject("com.sun.star.ServiceManager");
...

и далее по тексту.


 
MsGuns ©   (2010-07-13 21:48) [15]

На нашем мегазаводе эта тема (Open ofice + linux тип чтоб сэкономить на виндах) уже 4 года "висит". Периодически показывает оскал.

"Перйти" невозможно - надо все переписывать к черту (особенно если макросы используются, да и вообще)

Совет - наплевать и не заморачиваться - малкомягкие не обеднеют :)


 
В школу!   (2010-07-13 22:01) [16]

XXL   (13.07.10 21:40) [14]

Так работает, только писать надо. Я для себя эту проблему решил - со стороны выглядит как некий объект, внутри вызовы преобразуются либо к Excel, либо к ОО, вся функциональность не поддерживается, но всей мне и не надо.


 
Jeer ©   (2010-07-13 22:27) [17]

Я тут на днях, а не далее как сегодня после обеда, столкнулся с такой Микрософтовской хренью, что при 30 град внешней, у меня подскочило до 40 :)

Старый проект, экспорт из аля TStringGrid в Ексель.
Все работает и давным давно.
Но тут Заказчик решил добавить создание бланков ( т.е. форм без данных, но с шапкой и левым столбцом )

Я, недолго думая, делю один массив данных + левый стобец и верхняя строка с наименованиями:

 vData := VarArrayCreate([1, AGrid.RowCount, 1, AGrid.ColCount], varVariant);
 for i := 0 to AGrid.ColCount - 1 do
   for j := 0 to AGrid.RowCount - 1 do
     vData[j+1, i+1] := AGrid.Cells[i, j];

на массив данных и два массива ( столбец и строка наименований)

 vData := VarArrayCreate([1, AGrid.RowCount-1, 1, AGrid.ColCount-1], varVariant);
 for i := 1 to AGrid.ColCount - 1 do
   for j := 1 to AGrid.RowCount - 1 do
     vData[j, i] := AGrid.Cells[i, j];

 vDataLeft := VarArrayCreate([1, AGrid.RowCount,1,1], varVariant);
 for i := 0 to AGrid.RowCount - 1 do
     vDataLeft[i + 1,1] := AGrid.Cells[0, i];;

 vDataTop := VarArrayCreate([1, AGrid.ColCount], varVariant);
 for i := 0 to AGrid.ColCount - 1 do
     vDataTop[i + 1] := AGrid.Cells[i, 0];

Так вот оказалось ( для меня шоком ), что загнать одномерный столбцовый массив через соответствующий Range Екселя невозможно - надо для этого создавать двумерный массив, но одномерный по второй координате, как и указано выше для варианта vDataLeft.
Строковый одномерный vDataTop - отрабатывет без вопросов.

Вполне допускаю, что я чего-то не домыслил, впрочем, в такую жару - немудрено, мозг плавится :)


 
mike   (2010-07-13 23:08) [18]

Вот это может помочь, если есть исходники программы, которая формирует отчет:
http://www.kb.mista.ru/article.php?id=180
Читать раздел "Упрощение миграции с MSO"

И еще вот такой зверь есть:
http://triteh.ru/libooo/index.php
Кстати, это не единственный враппер для calc . Был еще какой-то, но с сорцами, тоже для 1сников, только вот найти я его не могу.


 
Anatoly Podgoretsky ©   (2010-07-14 13:41) [19]

> XXL  (13.07.2010 21:40:14)  [14]

Ну так и я про тоже.



Страницы: 1 вся ветка

Форум: "Прочее";
Текущий архив: 2010.10.10;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.49 MB
Время: 0.004 c
2-1278925532
linuxoid
2010-07-12 13:05
2010.10.10
помогите с пингом


15-1278590211
ocean
2010-07-08 15:56
2010.10.10
Зачем металлическое кольцо


6-1227004931
max
2008-11-18 13:42
2010.10.10
активные TCP сессии


6-1222250421
Aiden
2008-09-24 14:00
2010.10.10
Проблема с передачей данных методом POST через TWebBrowser


15-1278962388
Pavia
2010-07-12 23:19
2010.10.10
Winpcap





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский