1С 8.3 Создание диаграммы в Excel из 1С
Данные > Примеры кода 1С > 1С 8.3 Диаграмма
Создание диаграммы в Экселе из 1С 8.3:
&НаКлиенте
Процедура СоздатьДиаграммуВЭкселе(Команда)
ВывестиДиаграммуНаНовомЛисте = Истина; // Ложь - на том же листе
// Старт COM:Excel
Попытка
Excel_App = Новый COMОбъект("Excel.Application");
Book_Excel = Excel_App.Workbooks.Add();
Sheet_Excel = Book_Excel.Sheets(1);
Исключение
Сообщить("Не удалось подключиться к Excel, возможно программа на компьютере не установлена! Операция прервана!");
Возврат;
КонецПопытки;
// Заполнение листа произвольными данными
ГенераторСлучайныхЧисел = Новый ГенераторСлучайныхЧисел(ТекущаяУниверсальнаяДатаВМиллисекундах());
Sheet_Excel.Cells(2, 1).Value = "Вылечилось";
Sheet_Excel.Cells(3, 1).Value = "Заболело";
Для Ном = 1 По 6 Цикл // Полугодие
Sheet_Excel.Cells(1, Ном+1).Value = Формат(ДобавитьМесяц(НачалоГода(ТекущаяДата()), Ном-1), "ДФ=MMM");
Sheet_Excel.Cells(2, Ном+1).Value = ГенераторСлучайныхЧисел.СлучайноеЧисло(0, 1000);
Sheet_Excel.Cells(3, Ном+1).Value = ГенераторСлучайныхЧисел.СлучайноеЧисло(0, 1000);
КонецЦикла;
// Создание диаграммы и заполнение её свойств
ДиапазонДанных = Sheet_Excel.Range(Sheet_Excel.Cells(1, 1), Sheet_Excel.Cells(3, 13)); // область данных
п_ТипДиаграммы = 54; // тип диаграммы: объемная гистограмма с группировкой;
п_ЗаголовокДиаграммы = "Диаграмма выздоровевших за полугодие"; // заголовок
Если ВывестиДиаграммуНаНовомЛисте = Ложь Тогда // на листе, где находяться данные для заполнения
Excel_Diagram = Sheet_Excel.ChartObjects().Add(1, 1000, 500, 400).Chart; // создание диаграммы и определение ее размеров
Excel_Diagram.HasDataTable = 0; // отображать под диаграммой таблицу с данными
Excel_Diagram.HasTitle = 1; // отображать заголовок
Excel_Diagram.SetSourceData(ДиапазонДанных); // диапазон данных диаграммы
Excel_Diagram.ChartTitle.Text = п_ЗаголовокДиаграммы;
Excel_Diagram.ChartType = п_ТипДиаграммы;
Иначе // на новом листе
Excel_App.Charts.Add(); // добавление диаграммы
Excel_App.ActiveChart.HasDataTable = 1; // отображать под диаграммой таблицу с данными
Excel_App.ActiveChart.HasTitle = 1; // отображать заголовок
Excel_App.ActiveChart.SetSourceData(ДиапазонДанных);
Excel_App.ActiveChart.ChartTitle.Text = п_ЗаголовокДиаграммы;
Excel_App.ActiveChart.ChartType = п_ТипДиаграммы;
КонецЕсли;
Excel_App.Visible = Истина; // показываем результат
КонецПроцедуры
Процедура СоздатьДиаграммуВЭкселе(Команда)
ВывестиДиаграммуНаНовомЛисте = Истина; // Ложь - на том же листе
// Старт COM:Excel
Попытка
Excel_App = Новый COMОбъект("Excel.Application");
Book_Excel = Excel_App.Workbooks.Add();
Sheet_Excel = Book_Excel.Sheets(1);
Исключение
Сообщить("Не удалось подключиться к Excel, возможно программа на компьютере не установлена! Операция прервана!");
Возврат;
КонецПопытки;
// Заполнение листа произвольными данными
ГенераторСлучайныхЧисел = Новый ГенераторСлучайныхЧисел(ТекущаяУниверсальнаяДатаВМиллисекундах());
Sheet_Excel.Cells(2, 1).Value = "Вылечилось";
Sheet_Excel.Cells(3, 1).Value = "Заболело";
Для Ном = 1 По 6 Цикл // Полугодие
Sheet_Excel.Cells(1, Ном+1).Value = Формат(ДобавитьМесяц(НачалоГода(ТекущаяДата()), Ном-1), "ДФ=MMM");
Sheet_Excel.Cells(2, Ном+1).Value = ГенераторСлучайныхЧисел.СлучайноеЧисло(0, 1000);
Sheet_Excel.Cells(3, Ном+1).Value = ГенераторСлучайныхЧисел.СлучайноеЧисло(0, 1000);
КонецЦикла;
// Создание диаграммы и заполнение её свойств
ДиапазонДанных = Sheet_Excel.Range(Sheet_Excel.Cells(1, 1), Sheet_Excel.Cells(3, 13)); // область данных
п_ТипДиаграммы = 54; // тип диаграммы: объемная гистограмма с группировкой;
п_ЗаголовокДиаграммы = "Диаграмма выздоровевших за полугодие"; // заголовок
Если ВывестиДиаграммуНаНовомЛисте = Ложь Тогда // на листе, где находяться данные для заполнения
Excel_Diagram = Sheet_Excel.ChartObjects().Add(1, 1000, 500, 400).Chart; // создание диаграммы и определение ее размеров
Excel_Diagram.HasDataTable = 0; // отображать под диаграммой таблицу с данными
Excel_Diagram.HasTitle = 1; // отображать заголовок
Excel_Diagram.SetSourceData(ДиапазонДанных); // диапазон данных диаграммы
Excel_Diagram.ChartTitle.Text = п_ЗаголовокДиаграммы;
Excel_Diagram.ChartType = п_ТипДиаграммы;
Иначе // на новом листе
Excel_App.Charts.Add(); // добавление диаграммы
Excel_App.ActiveChart.HasDataTable = 1; // отображать под диаграммой таблицу с данными
Excel_App.ActiveChart.HasTitle = 1; // отображать заголовок
Excel_App.ActiveChart.SetSourceData(ДиапазонДанных);
Excel_App.ActiveChart.ChartTitle.Text = п_ЗаголовокДиаграммы;
Excel_App.ActiveChart.ChartType = п_ТипДиаграммы;
КонецЕсли;
Excel_App.Visible = Истина; // показываем результат
КонецПроцедуры
0
комментарии
____________________
Перепечатка текста и фотографий разрешена при наличии прямой ссылки на источник