| 
| 
 | Вопрос # 1 130/ вопрос открыт / | 
 |  Здравствуйте, эксперты!В своей программке я переношу в листы книги Excel с помощью компонента  TExcelApplication содержание  TStringGrid - ов.Мне хотелось бы,что бы в эту же книгу,отдельным листом заносился бы график построенный по m - ому и n - ому столбцам таблицы(пусть по Y m столбец ,а по X n столбец).Покажите как это делается.
 
|  |   Вопрос задал: GAZ (статус: Посетитель)Вопрос отправлен: 22 ноября 2007, 07:24
 Состояние вопроса: открыт, ответов: 1.
 |  Ответ #1. Отвечает эксперт: Нахушев Азамат Владимирович Здравствуйте, GAZ!Здесь без использования комнонента TExcelApplication (с использованием OLE),но принцип тот же.
 
 
 begin
 XLApp:=CreateOleObject('Excel.Application');//создаем объект Excel
 
 XlApp.Charts.Add();//добавить график в новый лист в той же книге
 XlApp.ActiveChart.ChartType:=66;//тип графика - линейный
 XlApp.ActiveChart.HasDataTable:= True;//отображать таблицу данных внизу
 XlApp.ActiveChart.DataTable.ShowLegendKey:=True;//отображать в таблице данных ключ
 XlApp.ActiveChart.ChartTitle.Characters.Text:=График';//титул графика
 XlApp.ActiveChart.Axes(1, 1).HasTitle:=True;//отображение наименования оси Х
 XlApp.ActiveChart.Axes(1, 1).AxisTitle.Characters.Text:='месяцы';//наименование
 //оси Х
 XlApp.ActiveChart.Axes(2, 1).HasTitle:=True;;//отображение наименования оси Y
 XlApp.ActiveChart.Axes(2, 1).AxisTitle.Characters.Text:='руб.';;//наименование
 //оси Y
 
 XlApp.ActiveChart.SeriesCollection(1).XValues:='=Отчет!R6C1:R7C1';//значение по
 // оси X
 XlApp.ActiveChart.SeriesCollection(1).Values:='=Отчет!R6C3:R7C3';//значение по
 // оси Y
 
 
 XlApp.ActiveChart.SeriesCollection.NewSeries;//добавить новую линию
 XlApp.ActiveChart.SeriesCollection(2).Name:='=Отчет!R5C5:R5C5';
 XlApp.ActiveChart.SeriesCollection(2).Values:='=Отчет!R6C5:R7C5';//значение по
 // оси Y
 
 
 
 end;
 
 Мини-форум вопросаВсего сообщений: 1; последнее сообщение — 22 ноября 2007, 09:38; участников в обсуждении: 1. 
|   | GAZ (статус: Посетитель), 22 ноября 2007, 09:38 [#1]:А можно немного поподробней разъяснить раз с использованием OLE. У меня если кратко то создание листа следующее
 
 const lcid=LOCALE_USER_DEFAULT;
 
 var ExlApp: TExcelApplication;
 ExlWorkBook: ExcelWorkbook;
 ExlWorkSheet: ExcelWorkSheet;
 ....
 ExlApp:=TExcelApplication.Create(Self);
 .....
 ExlWorkBook:=ExlApp.Workbooks.Add(EmptyParam,0);//создание новой книги
 ....
 или
 ....
 ExlWorkBook:=ExlApp.Workbooks.Add(path+fname, lcid); //открытие её если она уже существует (path+fname - путь к файлу+имя файла)
 ...
 ExlWorkSheet:=ExlApp.Worksheets.Add(EmptyParam, EmptyParam,
 EmptyParam, EmptyParam, lcid) as ExcelWorksheet;//здесь создание листа
 
 Так вот какие тогда параметры должны быть в скобках
 XlApp.Charts.Add();//добавить график в новый лист в той же книге
 |  Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте. |