Hi i tried to add chart on excell spreadsheet but i don't what i doing wrong don't show me nothing
please help me..
procedure TFormCharts.BtnToExcellClick(Sender: TObject);
Var I,s:integer;
SourceSeries:TLIneSeries;
MyWorkbook: TsWorkbook;
MyWorksheet: TsWorksheet;
ch: TsChart;
cser: TsLineSeries;
ser: TsChartSeries;
begin
MyWorkbook := TsWorkbook.Create;
MyWorkbook.SetDefaultFont('Calibri', 12);
MyWorkbook.Options := MyWorkbook.Options + [boCalcBeforeSaving];
For s:=0 to Chart1.SeriesCount-1 do begin
SourceSeries:=TLineSeries(ChartListbox1.Series);
if( SourceSeries.Count > 0) then begin
MyWorksheet := MyWorkbook.AddWorksheet('Datos '+inttostr(s+1));
MyWorksheet.WriteText(0, 1, 'Axe X');
MyWorksheet.WriteText(0, 2, 'Axe Y');
ChartDataDb.Filtered:=false;
ChartDataDb.Filter:='serie='+''+inttostr(s)+'';
ChartDataDb.Filtered:=true;
for i := 0 to SourceSeries.Count - 1 do begin
if(ChartDataDb.Locate('serie;id', VarArrayOf([s,i]),[loCaseInsensitive,loPartialKey])) then begin
MyWorksheet.WriteNumber(i+1, 1, ChartDataDb.FieldByName('XValue').AsInteger); // GetXValue(i));
MyWorksheet.WriteNumber(i+1, 2, ChartDataDb.FieldByName('YValue').AsInteger);
end;
end;
if( SourceSeries.Count > 0 ) then begin
ch := MyWorkbook.AddChart(MyWorkSheet,200, 200, 4, 4);
cser:= TsLineSeries.Create(ch);
ch.Title.Caption := 'Graph '+inttostr(s+1);
ch.Title.Font.Style := [fssBold];
ch.Title.Font.Color := scBlue;
cser.SetTitleAddr(1, 1);
cser.SetYRange(2, 2, 20, 2);
cser.SetXRange(1, 2, 20, 2);
cser:=nil;
end;
ChartDataDb.Filtered:=false;
end;
end;
MyWorkbook.WriteToFile(GetCurrentDir + '\testfrafica.xls', sfExcel8, true);
MyWorkbook.Free;
end;
i attached information get from app and what i need to send to chart..