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


 

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

67521. Уравнения и характеристики двигателя постоянного тока последовательного возбуждения. Управление напряжением и реостатное 225.5 KB
  Схема включения двигателя последовательного возбуждения показана на рис. Схема включения двигателя последовательного возбуждения Уравнение баланса напряжений и выражения для ЭДС и электромагнитного момента имеют вид: U = rя rв I Eя; 4. Механические характеристики двигателя последовательного возбуждения...
67522. Причины и признаки экологического кризиса. Глобальные экологические проблемы 114 KB
  По ходу развития цивилизации перед человечеством неоднократно возникали сложные проблемы порою планетарного характера. В полной мере эти проблемы проявились уже во второй половине и в особенности в последней четверти XX века то есть на рубеже двух веков и даже тысячелетий.
67523. Управление шаговым двигателем с реактивным ротором и линейным шаговым двигателем с постоянным магнитом 273.5 KB
  Фазы обмотки питаются прямоугольными импульсами напряжения. В ответ на каждый импульс ротор поворачивается на определенный угол и останавливается в ожидании следующего импульса. Показаны пути замыкания магнитного потока Ф созданного фазой А при подаче на нее импульса напряжения U0.
67524. Моменты синхронного двигателя и его пуск при питании от инвертора частоты. Синхронизирующий момент 595.5 KB
  Схема включения обмоток синхронного двигателя Вращающееся магнитное поле статора увлекает за собой ротор-индуктор который в установившемся режиме вращается синхронно с полем. Рассмотрим СД ротор которого имеет неявно выраженные полюса с постоянным магнитным потоком...
67525. Моментный электропривод с синхронным двигателем и синусно-косинусным вращающимся трансформатором 364.5 KB
  В целом электропривод ведет себя как электромеханическая система с пропорциональным управлением и гибкой тахометрической обратной связью. Следует обратить внимание, что амплитудно-модулированные сигналы и синусно-косинусный вращающийся трансформатор СКВТ были применены для получения двойной информации...
67526. АНТРОПОГЕННЫЕ ВОЗДЕЙСТВИЯ НА БИОСФЕРУ. ЗАГРЯЗНЕНИЕ ОКРУЖАЮЩЕЙ СРЕДЫ 258.5 KB
  По объектам загрязнения различают загрязнение поверхностных и подземных вод загрязнение атмосферного воздуха загрязнение почв и т. Источниками антропогенного загрязнения наиболее опасного для популяций любых организмов являются промышленные предприятия химические металлургические целлюлозно-бумажные...
67527. Обобщенная электрическая машина, соответствующая синхронному двигателю 270.5 KB
  Электрические машины разных типов имеют разное математическое описание. Современные электромеханические системы содержат электрические машины разных типов. Анализ таких систем оказывается затруднительным. Теория обобщенных электрических машин упрощает анализ сложных электромеханических систем, так как...
67529. АНТРОПОГЕННЫЕ ВОЗДЕЙСТВИЯ НА АТМОСФЕРУ 98.5 KB
  Охрана атмосферного воздуха ключевая проблема оздоровления окружающей природной среды. Человек может находиться без пищи пять недель без воды пять дней а без воздуха всего лишь пять минут. Оно происходит при вымывании аэрозолей из атмосферы осадками турбулентном перемешивании приземного слоя...