Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 10.04.2009, 15:44
Asiris Asiris вне форума
Прохожий
 
Регистрация: 10.04.2009
Сообщения: 3
Репутация: 10
По умолчанию Диаграмма Excel

Добрый день программисты!
у меня вопрос не на жизнь а на смерть

мне нужно добавить в Excel диаграмму ряд, перепробовал кучу вариантов, ничего толком не вышло, могу сделать 1 ряд, а добавить в существующую диаграмму еще один ряд не получается.

вот что у меня есть:

Код:
procedure TForm1.SpeedButton4Click(Sender: TObject);
 const
 lcid = LOCALE_USER_DEFAULT;
var
  XL: TExcelApplication;
  WB: TExcelWorkbook;
  ASheet: TExcelWorksheet;
{$ifdef D7}
  LastCell: ExcelRange;
  {$else}
 // LastCell: Range;
  {$endif}
  AChart: _Chart;



begin
  XL := TExcelApplication.Create(Self);
  WB := TExcelWorkbook.Create(Self);
  ASheet := TExcelWorksheet.Create(Self);
XL.connect;
WB.ConnectTo(XL.Workbooks.Add(EmptyParam, lcid));
ASheet.ConnectTo(XL.ActiveSheet as ExcelWorksheet);
XL.Visible[lcid] := True;

ASheet.Range['A1', EmptyParam].Value2 := 'M';
ASheet.Range['B1', EmptyParam].Value2 := 'Alpha';

mialphaex := VarArrayCreate([1, zap, 1, 2], varVariant);

ASheet.Range['A2',ASheet.Cells.Item[zap+1, 2]].Value2 := mialphaex;
  VarClear(mialphaex);

  ASheet.Range['c1', EmptyParam].Value2 := 'Mпр';
ASheet.Range['d1', EmptyParam].Value2 := 'ALPHAпр';

mialphaexp := VarArrayCreate([1, zap+1, 1, 2], varVariant);

ASheet.Range['C2',ASheet.Cells.Item[zap+2, 4]].Value2 := mialphaexp;
  VarClear(mialphaexp);

AChart := WB.DefaultInterface.Charts.Add(EmptyParam, ASheet.DefaultInterface,
1, // кол-во диаграмм
EmptyParam, lcid) as _Chart;

AChart.ChartType := xlXYScatterSmooth; // тип диаграммы
AChart.SetSourceData(ASheet.Range['A2',ASheet.Cells.Item[zap+1, 2]], xlcolumns);
Achart.Location(xlLocationAsObject,'Лист1');

//вот в представленную выше диаграмму мне нужно воткнуть ряд ..(ASheet.Range['с2',ASheet.Cells.Item[zap+1, 4]], xlcolumns);

помогите, очень прошу!!!

Последний раз редактировалось Admin, 10.04.2009 в 16:00.
Ответить с цитированием
  #2  
Старый 10.04.2009, 16:19
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,035
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Берешь Эксель.
Включаешь запись макросов.
Делаешь добалвение руками.
Отключаешь запись макросов и смотришь как он это делает и транслируешь в соответсвующие вызовы из Дельфей.
Ответить с цитированием
  #3  
Старый 11.04.2009, 11:00
Asiris Asiris вне форума
Прохожий
 
Регистрация: 10.04.2009
Сообщения: 3
Репутация: 10
По умолчанию

ActiveChart.PlotArea.Select
ActiveChart.SeriesCollection.NewSeries
ActiveChart.SeriesCollection(2).Name = "=""2"""
ActiveChart.SeriesCollection(2).XValues = "=Лист1!$C$1:$C$7"
ActiveChart.SeriesCollection(2).Values = "=Лист1!$D$1:$D$7"

вот что пишет еxcel, как перевести это в дельфи??? плииз
Ответить с цитированием
  #4  
Старый 11.04.2009, 12:58
Asiris Asiris вне форума
Прохожий
 
Регистрация: 10.04.2009
Сообщения: 3
Репутация: 10
По умолчанию

вопрос снимаю, еле как нарыл в инете одну запись, и с помощью макроса и пошаговой обработки и разных подстановок получил нужную комбинацию:

Цитата:
with (Achart.SeriesCollection(EmptyParam,lcid) as seriescollection).newseries do
begin
name:='прогноз';
xvalues:= asheet.Range['c2',ASheet.Cells.Item[zap+2, 3]];
values:= asheet.Range['d2',ASheet.Cells.Item[zap+2, 4]];
end;

спасибо модеру за помощь
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 18:27.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter