
BFI_DOPMAT / Вывод графика средствами MS Excel
.pdf//Программа строит диаграмму (график), используя объекты
//компонентной библиотеки MS Excel
#include "stdafx.h"
using namespace System;
// Добавляем пространство имен
using namespace Microsoft::Office::Interop::Excel;
//Для подключения библиотеки объектов MS Excel в пункте меню Project
//выберем команду Add Reference. Затем на вкладке COM дважды щелкнем
//по ссылке на библиотеку Microsoft Excel 12.0 Object Library
int main(array<System::String ^> ^args)
{
//Создаем экземпляр класса Excel::Application: _Application ^ XL1 = gcnew Application(); XL1->Visible = true;
//Задаем параметр "по умолчанию" для его дальнейшего
//использования в соответствующих методах:
Object ^ t = Type::Missing;
// Создаем новую книгу MS Excel:
Workbook ^ Книга = XL1->Workbooks->Add(t); // Объявляем листы в книге:
Sheets ^ Листы = Книга->Worksheets; // Выбираем первый лист:
_Worksheet ^ Лист = (_Worksheet ^)Листы->Item[1];
//Записываем данные по продажам в соответствующих ячейках: Лист->Range["A1", t]->Value2 = "Месяцы";
Лист->Range["A2", t]->Value2 = "Март"; Лист->Range["A3", t]->Value2 = "Апр"; Лист->Range["A4", t]->Value2 = "Май"; Лист->Range["A5", t]->Value2 = "Июнь"; Лист->Range["A6", t]->Value2 = "Июль"; Лист->Range["B1", t]->Value2 = "Продажи"; Лист->Range["B2", t]->Value2 = 138; Лист->Range["B3", t]->Value2 = 85; Лист->Range["B4", t]->Value2 = 107; Лист->Range["B5", t]->Value2 = 56; Лист->Range["B6", t]->Value2 = 34;
//построение диаграммы (графика) с параметрами:
_Chart ^ График = (_Chart ^)XL1->Charts->Add(t, t, t, t); // Задаем диапазон значений для построения графика:
График->SetSourceData(Лист->Range["A2", "B6"], XlRowCol::xlColumns); // Задаем тип графика (гистограмма):
График->ChartType = XlChartType::xlColumnClustered;
//Отключаем легенду графика: График->HasLegend = false;
//График имеет заголовок: График->HasTitle = true;
График->ChartTitle->Caption = "ПРОДАЖИ ЗА ПЯТЬ МЕСЯЦЕВ";
//Подпись оси X:
Axis ^ ГоризонтальнаяОсь = (Axis^)График->Axes( XlAxisType::xlCategory, XlAxisGroup::xlPrimary);
ГоризонтальнаяОсь->HasTitle = true; ГоризонтальнаяОсь->AxisTitle->Text = "Месяцы"; // Подпись оси Y:
Axis ^ ВертикальнаяОсь = (Axis^)График->Axes( XlAxisType::xlValue, XlAxisGroup::xlPrimary);
ВертикальнаяОсь->HasTitle = true; ВертикальнаяОсь->AxisTitle->Text = "Уровни продаж";
//Сохранение графика в растровом файле:
//XL1->ActiveChart->Export("C:\\ExcelГрафик.jpg", t, t); return 0;
}