Учись программированию на C++ Builder бесплатно!
  • Главная
  • FAQ
  • Как из Microsoft Excel считать диапазон ячеек и вывести на форму?

Размещаем на форму компонент StringGrid1 и кнопку Button1 со следующим кодом:

Способ №1


AnsiString file = "E:\\Name.xls";
Variant Excel=Variant::CreateObject("Excel.Application");
Variant Book=Excel.OlePropertyGet("Workbooks").OlePropertyGet("Open", file);
Variant Sheet=Book.OlePropertyGet("Worksheets", 1);
for(int i=1;i<6;i++) for(int j=1;j<6;j++)
StringGrid1->Cells[j-1][i-1]=Sheet.OlePropertyGet("Cells",i,j);
if (!Excel.IsEmpty())
{
Excel.OleProcedure("Quit");
Excel.Clear();
}

Способ №2


Variant Excel=Variant::CreateObject("Excel.Application");
Variant Book = Excel.OlePropertyGet(WideString("Workbooks")).OlePropertyGet(WideString("Open"), WideString("E:\\Name.xls"));
Variant Sheet = Book.OlePropertyGet("Worksheets", 1);
for(int i=1;i<6;i++) for(int j=1;j<6;j++)
StringGrid1->Cells[j-1][i-1]=Sheet.OlePropertyGet("Cells",i,j);
Excel.OleProcedure(WideString("Quit"));

В нашем примере данные загрузятся из Microsoft Excel размером 5х5.


Поиск по сайту