Создаем график в Excel на С++ 

  

Unit1.cpp 

//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop

#include "Unit1.h"
#include <comobj.hpp> //Хидер для OLE объектов
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
	: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
 Variant App, Bks, Bk, Shts, Sht, Cll; //Переменные App-Application, Bks-Книги, Bk-Книга, Shts-Листы, Sht-Лист, Cll-Ячейка
 //Создаем книгу. Начало.
 App=CreateOleObject("Excel.Application");
 App.OlePropertySet("Visible",true); //Делаем нашу книгу видимой
 App.OlePropertySet("DisplayAlerts",false); //Отключаем вопрос на сохранение книги при закрытии
 Bks=App.OlePropertyGet("Workbooks"); //Набор рабочих книг
 App.OlePropertySet("SheetsInNewWorkbook",1); //Количество листов в книге. В данном случае 1
 Bks.OleProcedure("Add"); //Процедура добавления
 Bk=Bks.OlePropertyGet("Item",1); //Текущая книга первая
 Shts=Bk.OlePropertyGet("Worksheets"); //Набор страниц в книге
 Sht=Shts.OlePropertyGet("Item",1); //С какой страницей мы будем работать
 Sht.OlePropertySet("Name",WideString("Листок1")); //Называем лист "Листок1"
 //Создаем книгу. Конец.

 //Шрифт и размер текста. Начало.
 Cll=Sht.OlePropertyGet("Range",WideString("A1:A10")); //Набор ячеек
 Cll.OlePropertyGet("Font").OlePropertySet("Name",WideString("Tahoma")); //Выбираем шрифт
 Cll.OlePropertyGet("Font").OlePropertySet("Size",12); //Размер шрифта
 Cll.OlePropertySet("HorizontalAlignment",-4108); //Выравнивание по горизонтали в ячейке
 Cll.OlePropertySet("VerticalAlignment",-4108); //Выравнивание по вертикали в ячейке
 //Шрифт и размер текста. Конец.

 //Наши данные. Начало.
 Cll=Sht.OlePropertyGet("Cells").OlePropertyGet("Item",1,1); // Ячейка А1
 Cll.OlePropertySet("Value",1); //Наше значение 1
 Cll=Sht.OlePropertyGet("Cells").OlePropertyGet("Item",2,1); // Ячейка А2
 Cll.OlePropertySet("Value",2); //Наше значение 2
 Cll=Sht.OlePropertyGet("Cells").OlePropertyGet("Item",3,1); // Ячейка А3
 Cll.OlePropertySet("Value",3); //Наше значение 3
 Cll=Sht.OlePropertyGet("Cells").OlePropertyGet("Item",4,1); // Ячейка А4
 Cll.OlePropertySet("Value",4); //Наше значение 4
 Cll=Sht.OlePropertyGet("Cells").OlePropertyGet("Item",5,1); // Ячейка А5
 Cll.OlePropertySet("Value",5); //Наше значение 5
 Cll=Sht.OlePropertyGet("Cells").OlePropertyGet("Item",6,1); // Ячейка А6
 Cll.OlePropertySet("Value",7); //Наше значение 7
 Cll=Sht.OlePropertyGet("Cells").OlePropertyGet("Item",10,1); // Ячейка А10
 Cll.OlePropertySet("Value",3); //Наше значение 3
 //Наши данные. Конец.

 //Создаем таблицу. Начало.
 Cll=Sht.OlePropertyGet("Range",WideString("A1:A10")); //С каких ячеек брать данные. У нас набор ячеек.
 Cll.OleProcedure("Select"); //Процедура выбора
 Bks=App.OlePropertyGet("Charts"); //Запрашиваем график
 Bks.OleProcedure("Add"); //Процедура добавления
 //Создаем таблицу. Конец.
}
//--------------------------------------------------------------------------- 

Unit1.h 

//---------------------------------------------------------------------------

#ifndef Unit1H
#define Unit1H
//---------------------------------------------------------------------------
#include <System.Classes.hpp>
#include <Vcl.Controls.hpp>
#include <Vcl.StdCtrls.hpp>
#include <Vcl.Forms.hpp>
//---------------------------------------------------------------------------
class TForm1 : public TForm
{
__published:	// IDE-managed Components
	TButton *Button1;
	void __fastcall Button1Click(TObject *Sender);
private:	// User declarations
public:		// User declarations
	__fastcall TForm1(TComponent* Owner);
};
//---------------------------------------------------------------------------
extern PACKAGE TForm1 *Form1;
//---------------------------------------------------------------------------
#endif