Мне нужно создать диаграмму в Excel в приложении Delphi на основе некоторых данных из таблицы.
Я создал таблицу Excel и заполнил n строк данных из таблицы. Теперь мне нужно сделать график на основе данных.
Мы должны добавить две записи (категории) Legent - D5: D15 и E5: E15
и одна метка горизонтальной (категории) оси -F5: F15
Я попробовал следующее, чтобы получить это.
При выполнении я получил сообщение об ошибке
Метод 'setsourcedata' не поддерживается объектом автоматизации.
Я попробовал метод SeriesCollection.item.value
, затем система выдала такое же сообщение.
procedure TForm1.Make_a_Chart;
var
Sheets,Ch1 : Variant;
begin
ch1 := XLApp.ActiveWorkBook.Sheets[1].ChartObjects.Add ( 500,100,400,200 ); // creates a new chart in the specified
Sheets := XLApp.Sheets;
ch1.Chart.ChartWizard (
Sheets.Item['Delphi Data'].Range['D5:D15'], // 1 Source
xlBarStacked, // 2 The chart type.
8, // 3 Format - The option number for the built-in autoformats. Can be a number from 1 through 10, depending on the gallery type.
2, // 4 PlotBy - Specifies whether the data for each series is in rows or columns. Can be one of the following XlRowCol constants.
1, // 5 CategoryLabels - An integer specifying the number of rows or columns within the source range that contain category labels.
1, // 6 SeriesLabels - An integer specifying the number of rows or columns within the source range that contain series labels.
False, // 7 HasLegend - 'true' to include a legend.
'My Report', // 8 Title - The Chart control title text.
'Y Axis', // 9 CategoryTitle - The category axis title text.
'X Axis', // 10 ValueTitle - The value axis title text
2 // 11 ExtraTitle - The series axis title for 3-D charts or the second value axis title for 2-D charts.
);
ch1.setsourcedata(Sheets.Item['Delphi Data'].Range['E5:E15'],xlColumns,2);
ch1.Chart.ChartType := xlBarStacked;
// ch1.SeriesCollection.Item[1].Values := Sheets.Item['Delphi Data'].Range['E5:E15'];
end;