1 / 1 / 2
Регистрация: 13.02.2015
Сообщений: 19

C++ & OpenOffice SDK

26.06.2015, 20:54. Показов 2035. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Всем привет.

Недавно появилась задача из приложения, написанного на языке С++, выгрузки данных в документы OpenOffice. Желательно, данную задачу решить с помощью OpenOffice SDK.

Для решения задачи использовал следующее:
- OpenOffice версии 4.1.1;
- OpenOffice SDK 4.1.1;

- Visual C++ 11.

А также, для создания заголовочных файлов из объектов SDK:
- GNU Make;
- GNU Zip;
- GNU cat.

После установки Open Office, Open Office SDK, задаю переменные окружения с помощью утилиты setsdkenv_windows.bat. После внесения всех данных, запускаю батник setsdkname.bat - переменные окружения прописаны.

Далее формирую заголовочные файлы утилитой cppumaker по пути OOSDKPath\includecpp:
cppumaker.exe -Gc -BUCR -o "OOSDKPath\includecpp" "OpenOfficePath\program\types.rdb" "OpenOfficePath\program\oovbaapi.rdb ";

Команда выполняется без ошибок, заголовочные файлы формируются.


Далее, создаю обычный консольный проект Visual C++ 11. Добавляю пути к заголовочным файлам: "OOSDKPath\include" и "OOSDKPath\includecpp"; к библиотеками SDK: "OOSDKPath\lib"; к исполняемым файлам: "OpenOfficePath\program".

И пытаюсь стартовать процесс:

C++
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
#define WNT 1
#define CPPU_ENV msci
 
#include <stdio.h>
#include <cppuhelper/bootstrap.hxx>
#include <com/sun/star/bridge/XUnoUrlResolver.hpp>
#include <com/sun/star/lang/XMultiComponentFactory.hpp>
#include <com/sun/star/lang/XMultiServiceFactory.hpp>
#include <com/sun/star/frame/XComponentLoader.hpp>
 
int main ()
{
     try
     {  
        Reference < XComponentContext > xContext = ::cppu::bootstrap();
     }
     catch ( ::cppu::BootstrapException & e )
     {
         fprintf( stderr, "caught BootstrapException: %s\n", OUStringToOString( e.getMessage(),   
                                   RTL_TEXTENCODING_ASCII_US ).getStr() );
     }
     catch ( Exception & e )
     {
 fprintf(stderr, "caught UNO exception: %s\n",
 OUStringToOString( e.Message, RTL_TEXTENCODING_ASCII_US ).getStr());
 
         return NULL;
 
     }
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
26.06.2015, 20:54
Ответы с готовыми решениями:

OpenOffice SDK + Java
Подскажите ресурсы, где можно было бы найти информацию по работе с OOo в Java. Нужно, имея полностью стилизованный odt документ, взять с...

Evolis SDK & Elyctis SDK C#
Добрый день! Столкнулся с задачей связать работу карточного принтера Evolis Primacy и установленного в него УЧЗ (устройство...

Java+OpenOffice SDK Совместимость х32 и х64
Добрый день! :) Есть программа на Java для OpenOffice, которая открывает Calc и вносит в ячейки определенные значения. Существует...

1
1 / 1 / 2
Регистрация: 13.02.2015
Сообщений: 19
01.07.2015, 22:00  [ТС]
C++
1
2
     return 0;
}
И получаю следующее:
caught UNO exception: loading component library failed: bootstrap.uno.dll.

Кто-нибудь сталкивался с этим? В какую сторону копать?

Заранее спасибо.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
01.07.2015, 22:00
Помогаю со студенческими работами здесь

OpenOffice & win2008r2
Здравствуйте. В общем есть терминальный сервак, к нему конектятся туча пользователей, ну и работают заодно в openoffice 3.2. Каждому...

query='SELECT * FROM resume WHERE ' & ''' & RecSet('place')& ''' & '=' & '''& s_loc &''' & - что не так?
упростил для краткости запрос. в чем ошибка? RecSet - это коннекшн. query='SELECT * FROM resume WHERE ' &amp; ''' &amp;...

Java & OpenOffice объединение документов
Здравствуйте! Значит ситуация такова: есть несколько файлов шаблонов, мы их загружаем, заполняем чем хочется, а перед сохранением их нужно...

GCC & iPhone SDK
Интересует возможность написания прикладных программ для iPhone не используя Mac OS. Покопавшись на зарубежных форумах, я нашёл несколько...

error '80020009' &Icirc;&oslash;&egrave;&aacute;&ecirc;&agrave;. /lalala/profile.asp, line 28
При простейшем и сто раз работавшем скрипте, вылетает ошибка! след. содержания error '80020009' ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

Новые блоги и статьи
Исключения в Java: советы, примеры кода и многое другое
Javaican 18.05.2025
Исключения — это объекты, созданные когда программа сталкивается с непредвиденной ситуацией: файл не найден, сетевое соединение разорвано, деление на ноль. . . Список можно продолжать до бесконечности. . . .
Как сделать SSO (Single Sign-On) в C# приложении
stackOverflow 18.05.2025
SSO — это механизм, позволяющий пользователю пройти аутентификацию один раз и получить доступ к нескольким приложениям без повторного ввода учетных данных. Вы наверняка сталкивались с ним, когда. . .
Kubernetes с Apache Flink для обработки данных в реальном времени
Mr. Docker 17.05.2025
Kubernetes — это целая философия управления распределёнными приложениями. В отличие от "примитивных" решений вроде Docker Swarm, K8s (как его ласково называют в тусовке DevOps-инженеров) предлагает. . .
Использование декораторов в Python
py-thonny 17.05.2025
Если вы когда-нибудь задумывались о том, как красиво расширить функциональность кода без лишней возни и дублирования, декораторы в Python — та самая волшебная палочка, которую вы искали. По сути, это. . .
Реализация многопоточных сетевых серверов на Python
py-thonny 16.05.2025
Когда сталкиваешься с необходимостью писать высоконагруженные сетевые сервисы, выбор технологии имеет критическое значение. Python, со своей элегантностью и высоким уровнем абстракции, может. . .
C# и IoT: разработка Edge приложений с .NET и Azure IoT
UnmanagedCoder 16.05.2025
Мир меняется прямо на наших глазах, и интернет вещей (IoT) — один из главных катализаторов этих перемен. Если всего десять лет назад концепция "умных" устройств вызывала скептические улыбки, то. . .
Гибридные квантово-классические вычисления: Примеры оптимизации
EggHead 16.05.2025
Гибридные квантово-классические вычисления — это настоящий прорыв в подходах к решению сложнейших вычислительных задач. Представьте себе союз двух разных миров: классические компьютеры, с их. . .
Использование вебсокетов в приложениях Java с Netty
Javaican 16.05.2025
HTTP, краеугольный камень интернета, изначально был спроектирован для передачи гипертекста с минимальной интерактивностью. Его главный недостаток в контексте современных приложений — это. . .
Реализация операторов Kubernetes
Mr. Docker 16.05.2025
Концепция операторов Kubernetes зародилась в недрах компании CoreOS (позже купленной Red Hat), когда команда инженеров искала способ автоматизировать управление распределёнными базами данных в. . .
Отражение в C# и динамическое управление типами
stackOverflow 16.05.2025
Reflection API в . NET — это набор классов и интерфейсов в пространстве имён System. Reflection, который позволяет исследовать и манипулировать типами, методами, свойствами и другими элементами. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru