Для получения переменной из Excel в среде C++ Builder используется технология OLE (технология связи и внедрения объектов или Object Linking and Embedding). Именно благодаря использованию данной технологии можно создавать документы, которые будут в качестве элементов содержать объекты, созданные при помощи других приложений.
В этой заметке я расскажу о том, как самым простым способом получить переменную из книги Excel.
Прежде всего, в создаваемое приложение необходимо включить такие модули:
1 2 | #include "ComObj.hpp" #include "utilcls.h" |
После этого необходимо создать переменную типа Variant
предназначенную для сохранения результатов вызова функции CreateOleObject
. Выглядит это так:
1 2 | Variant Excel; Excel=CreateOleObject("Excel.Application"); |
Теперь необходимо открыть файл. Сделать это можно следующим образом:
1 2 | AnsiString FileName=GetCurrentDir()+"\\File.xls"; Excel.OlePropertyGet("Workbooks").OleProcedure("Open",FileName.c_str()); |
Для того, чтоб сделать открытую страницу невидимой используется такая строка:
1 | Excel.OlePropertySet("Visible",false); |
Непосредственное получение переменной производится так:
1 | String p=Excel.OlePropertyGet("Cells",1,1); |
При этом будет выбрана ячейка А:1 (т.е. нумерация ячеек по вертикали и горизонтали начинается не с 0, а с 1).
Удачных экспериментов!