35136

Пример реализации обмена данными с Microsoft Excel

Практическая работа

Информатика, кибернетика и программирование

Создание новой книги Vrint MSBooks; MSBooks = MSExcel. Создание нового листа книги. Сохранение книги. Создание нового листа книги.

Русский

2013-09-09

45.5 KB

3 чел.

Практическая работа №9

Пример реализации обмена данными с Microsoft Excel

Работа с OLE- (COM-) серверами реализуется путем обращения к системным механизмам OLE, отыскивающим запись о сервере в реестре MS Windows по заданному глобально-уникальному идентификатору (GUID). Можно также реализовать так называемое позднее связывание, когда происходит двойное обращение к реестру: сначала для получения GUID по имени COM-сервера, а затем для получения ссылки на сам сервер по его GUID. Для этого в Borland C++Builder используется объект Variant.

Ниже приведены примеры работы с объектами MS Excel при помощи Variant:

#include <utilcls.h>

...

Variant MSExcel, MyBook, MySheet;

...

try

{ // Получить указатель на активный объект. MSExcel - загружен

 MSExcel = Variant::GetActiveObject("Excel.Application");

}

catch (...)

{

 MSExcel = Variant::CreateObject("Excel.Application");

}

MSExcel.OlePropertySet ( "Visible", true );

...

// Создание новой книги

Variant MSBooks;

 MSBooks = MSExcel.OlePropertyGet ("Workbooks");

MyBook = MSBooks.OleFunction ( "Add" );

...

// Создание страницы

Variant Sheets;

   Sheets = MyBook.OlePropertyGet ("Worksheets");

   MySheet = Sheets.OleFunction ("Add");

...

// Заполнение таблицы

Variant Range;

Range = MySheet.OlePropertyGet ( "Range", "B2" );

Range.OlePropertySet ( "FormulaR1C1", "1" );

...

// Создание диаграммы

Variant Charts, Chart, Ch, Range;

Charts = MySheet.OlePropertyGet ("ChartObjects");

Chart = Charts.OleFunction ( "Add", 300, 20, 300, 400 );

Ch = Chart.OlePropertyGet ( "Chart" );

Range = MySheet.OlePropertyGet ( "Range", "A2:B17" );

Ch.OleProcedure ( "SetSourceData", Range, "xlColumns" );

Таким образом, все обращение к OLE-серверу сводится к использованию функций Variant OlePropertyGet, OlePropertySet, OleFunctoin, OleProcedure.

Задание. Разработать визуальное приложение, позволяющие выполнять операции согласно варианту задания.

Вариант 1. Создание нового листа книги. Загрузка на лист содержимого БД формата DBF. Вычисление среднего значения в столбце, выбранном пользователем, с занесением в его последнюю ячейку. Сохранение книги.

Вариант 2. Создание нового листа книги. Генерация таблицы из двух столбцов: порядковый номер и значение (в качестве значения можно взять, например, арифметическую или геометрическую прогрессию, последовательность Фибоначчи и пр.). Сохранение листа в виде БД формата DBF. Вычисление суммарного значения в столбце, выбранном пользователем, с занесением в его последнюю ячейку.

Вариант 3. Создание нового листа книги. Создание таблицы путем копирования данных из таблиц аналогичной структуры, размещенных на листах книги, указанных пользователем. Вычисление дисперсии в столбце, выбранном пользователем, с занесением в его последнюю ячейку. Сохранение книги.

Вариант 4. Создание нового листа книги. Загрузка на лист содержимого БД формата DBF. Вычисление суммарного значения в столбце, выбранном пользователем, с занесением в его последнюю ячейку. Построение диаграммы по таблице. Сохранение книги.

Вариант 5. Создание нового листа книги. Создание таблицы путем копирования данных из таблиц аналогичной структуры, размещенных на листах книги, указанных пользователем. Построение диаграммы по таблице. Вычисление дисперсии в столбце, выбранном пользователем, с занесением в его последнюю ячейку. Сохранение книги.

Вариант 6. Создание нового листа книги. Создание таблицы путем копирования данных из таблиц аналогичной структуры, размещенных на листах книги, указанных пользователем. Вычисление среднего значения в столбце, выбранном пользователем, с занесением в его последнюю ячейку. Печать листа. Сохранение книги.

Вариант 7. Создание нового листа книги. Загрузка на лист содержимого БД формата DBF. Сохранение листа в виде БД формата DBF. Вычисление суммарного значения в столбце, выбранном пользователем, с занесением в его последнюю ячейку. Печать листа.

Вариант 8. Создание нового листа книги. Генерация таблицы из двух столбцов: порядковый номер и значение (в качестве значения можно взять, например, арифметическую или геометрическую прогрессию, последовательность Фибоначчи и пр.). Вычисление дисперсии в столбце, выбранном пользователем, с занесением в его последнюю ячейку. Печать листа. Сохранение книги.

Вариант 9. Создание нового листа книги. Загрузка на лист содержимого БД формата DBF. Вычисление среднего значения в столбце, выбранном пользователем, с занесением в его последнюю ячейку. Построение диаграммы по таблице. Печать таблицы. Сохранение книги.

Вариант 10. Создание нового листа книги. Создание таблицы путем копирования данных из таблиц аналогичной структуры, размещенных на листах книги, указанных пользователем. Построение диаграммы по таблице. Вычисление дисперсии в столбце, выбранном пользователем, с занесением в его последнюю ячейку. Печать графика. Сохранение книги.

Вариант 11. Создание нового листа книги. Загрузка на лист содержимого БД формата DBF. Вычисление суммарного значения в столбце, выбранном пользователем, с занесением в его последнюю ячейку. Построение диаграммы по таблице. Печать графика. Сохранение книги.

Вариант 12. Создание нового листа книги. Генерация таблицы из двух столбцов: порядковый номер и значение (в качестве значения можно взять, например, арифметическую или геометрическую прогрессию, последовательность Фибоначчи и пр.). Построение диаграммы по таблице. Вычисление дисперсии в столбце, выбранном пользователем, с занесением в его последнюю ячейку. Печать таблицы. Сохранение книги.


 

А также другие работы, которые могут Вас заинтересовать

61782. ОРГАНИЗАЦИЯ РАБОТЫ МАГАЗИНОВ «КУЛИНАРИИ» 18.02 KB
  Цели: Образовательные: углубить знания по организации работы магазинов кулинарии Ракитянского РАЙПО; рассмотреть ассортимент товаров и предоставляемых услуг поставщиков с которыми работает магазин Развивающие: развивать умение применять знания теории на практике умение сравнивать делать выводы; развивать наблюдательность самостоятельность.
61783. Англія – від англосаксонських королівств до Вільгельма Завойовника (V – XI ст.) 20.33 KB
  Король Екберт об’єднав під своєю владою всі англосаксонські королівства. Король Альфред Великий Об’єднання Англії не врятувало її від вторгнення норманів серед яких переважали датчани. Такими засобами король зміг протистояти завойовникам і навіть отримати над ними ряд перемог.
61787. Твір-оповідання на самостійно обрану тему 14.18 KB
  Мета: формувати текстотворчі вміння з урахуванням специфіки художнього тексту конкретного літературного жанру; формувати вміння здобуті на уроках літератури й мови теоретичні знання застосовувати на практиці...
61788. Твір-опис “Якими фарбами я намалюю щастя” 11.82 KB
  Хто зображений на малюнку що робить як це його характеризує; які предмети речі зображено якими кольорами як вони допомагають розкрити творчий задум; уявіть що ви на місці художника як би ви зобразили цю тему що саме ви хотіли сказати своїм малюнком чи вдалося вам це зробити...
61789. Предмет астрономії. Ії розвиток та значення в житті суспільства. Методи та засоби астрономічних спостережень 304.71 KB
  Світоглядна роль усвідомлення людьми положення Землі у Всесвіті пізнання законів за якими рухаються та розвиваються космічні об’єкти. Збагачує важливими даними інші науки фізику хімію проводить дослідження речовин у станах яких неможливо досягти на Землі.
61790. Країни, національності та мови 18.44 KB
  Today we’ll imagine we are going to travel to different countries. Just imagine because in your age you can’t travel without your parents, but on the English lesson we can do it.