|
Вопрос # 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();//добавить график в новый лист в той же книге
|
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|