Разработка POC LibreOffice OLE Excel сервера

Андрей12 лет в сервисе
Данные заказчика будут вам доступны после подачи заявки
07.04.2013

Разработка POC LibreOffice OLE Excel сервера.

Техническое задание на разработку модели OLE-сервера Excel.

Исходя из факта, что общение прикладных программ с Excel происходит стандартными средствами OLE, для проверки возможности замены MS Excel OLE на LibreOffice OLE при работе с прикладными программами предлагается разработать тестовое OLE приложение.

Функциональные требования. Данное приложение должно:

1. Быть OLE сервером.

2. Быть зарегистрировано в ОС как «Excel.Application».

3. Предоставлять интерфейс MS Excel 2007/2010 OLE в объеме, необходимом для работы приведенного ниже VBS-скрипта.

4. Запросы OLE Excel должны транслироваться с эквивалентные вызовы LibreOffice UNO API: VB-скрипт -> разрабатываемый тестовый OLE сервер -> LibreOffice UNO API.

5. Результаты выполнения запросов (статус, данные если необходимы), должны передаваться обратно в скрипт, так, как это делал бы оригинальный сервер OLE Excel.

Дополнительные требования. Приложение:

1. Может быть выполнено на любом языке программирования, однако не должно требовать лицензирования среды или библиотек времени исполнения.

2. Должно функционировать в среде Windows XP Prof SP3 Rus x32/x64, Windows 7 Prof Rus x32/x64.

3. Используемая версия LibreOffice – 4.0.1.2 или старше.

Способ проверки работоспособности. На компьютере, на котором не установлен MS Offce (MS Excel), устанавливаем LibreOffice. Устанавливаем и регистрируем разработанный тестовый OLE сервер. Запускаем LibreOffice в режиме UNO сервера. Запускаем тестовый скрипт. Скрипт должен вызвать LibreOffice Calc, создать файл электронной таблицы, в первую строку, третьей колонки созданной таблицы должен вывести текст 'Test', либо любое другое значение, как это будет задано в скрипте.

Полезные ссылки.

1. Описание LibreOffice UNO API http://api.libreoffice.org/

Приложение. Тестовый пример на языке VB:

'Excel example

Private Sub cmdExcel_Click()

Dim intCol

Dim intRow

Dim oXL

Dim oBook

Dim oSheet

Dim oRange

intCol = 3

intRow = 1

'Load Excel and create the object

Set oXL = CreateObject("Excel.Application")

'Turn off alert messages.

oXL.DisplayAlerts = False

'Load a new workbook and create the workbook object.

Set oBook = oXL.workbooks.Add

'Create the worksheet object.

Set oSheet = oBook.Sheets(1)

'Enter a value in a cell.

oSheet.cells(intRow, intCol).Value = "Test"

'Display the Excel session.

oXL.Visible = True

End Sub

cmdExcel_Click

Заявки фрилансеров