http://community.borland.com/article/0,1410,10129,00.htmlNow that you have a worksheet, and some data, then next step is to create a graph. The following procedure from the Excel4 program should get you started working with charts: procedure TForm1.ChartData; var ARange: Variant; Sheets: Variant; begin XLApp.Workbooks[1].Sheets.Add(,,1,xlChart); Sheets := XLApp.Sheets; ARange := Sheets.Item['Delphi Data'].Range['A1:A10']; Sheets.Item['Chart1'].SeriesCollection.Item[1].Values := ARange; Sheets.Item['Chart1'].ChartType := xl3DPie; Sheets.Item['Chart1'].SeriesCollection.Item[1].HasDataLabels := True; XLApp.Workbooks[1].Sheets.Add(,,1,xlChart); Sheets.Item['Chart2'].SeriesCollection.Item[1].Values := ARange; Sheets.Item['Chart2'].SeriesCollection.Add(ARange); Sheets.Item['Chart2'].SeriesCollection.NewSeries; Sheets.Item['Chart2'].SeriesCollection.Item[3].Values := VarArrayOf([1,2,3,4,5, 6,7,8,9,10]); Sheets.Item['Chart2'].ChartType := xl3DColumn; end;改變這個就行 Sheets.Item['Chart1'].ChartType := xl3DPie;
用QUERY查数据
上面是显示数据,下面是一个CHART.有什么好办法吗?在EXCEL里面做CHART确实不熟悉.
procedure TForm1.ChartData;
var
ARange: Variant;
Sheets: Variant;
begin
XLApp.Workbooks[1].Sheets.Add(,,1,xlChart);
Sheets := XLApp.Sheets;
ARange := Sheets.Item['Delphi Data'].Range['A1:A10'];
Sheets.Item['Chart1'].SeriesCollection.Item[1].Values := ARange;
Sheets.Item['Chart1'].ChartType := xl3DPie;
Sheets.Item['Chart1'].SeriesCollection.Item[1].HasDataLabels := True; XLApp.Workbooks[1].Sheets.Add(,,1,xlChart);
Sheets.Item['Chart2'].SeriesCollection.Item[1].Values := ARange;
Sheets.Item['Chart2'].SeriesCollection.Add(ARange);
Sheets.Item['Chart2'].SeriesCollection.NewSeries;
Sheets.Item['Chart2'].SeriesCollection.Item[3].Values :=
VarArrayOf([1,2,3,4,5, 6,7,8,9,10]);
Sheets.Item['Chart2'].ChartType := xl3DColumn;
end;改變這個就行
Sheets.Item['Chart1'].ChartType := xl3DPie;
(三) 使用Delphi 控制Excle二维图
在form中分别放入ExcelApplication, ExcelWorkbook和ExcelWorksheet
var asheet1,achart, range:variant; 1)选择当第一个工作薄第一个工作表
asheet1:=ExcelApplication1.Workbooks[1].Worksheets[1]; 2)增加一个二维图
achart:=asheet1.chartobjects.add(100,100,200,200); 3)选择二维图的形态
achart.chart.charttype:=4; 4)给二维图赋值
series:=achart.chart.seriescollection;
range:=sheet1!r2c3:r3c9;
series.add(range,true); 5)加上二维图的标题
achart.Chart.HasTitle:=True;
achart.Chart.ChartTitle.Characters.Text:=’ Excle二维图’ 6)改变二维图的标题字体大小
achart.Chart.ChartTitle.Font.size:=6; 7)给二维图加下标说明
achart.Chart.Axes(xlCategory, xlPrimary).HasTitle := True;
achart.Chart.Axes(xlCategory, xlPrimary).AxisTitle.Characters.Text := '下标说明'; 8)给二维图加左标说明
achart.Chart.Axes(xlvalues, xlPrimary).HasTitle := True;
achart.Chart.Axes(xlvalues, xlPrimary).AxisTitle.Characters.Text := '左标说明'; 9)给二维图加右标说明
achart.Chart.Axes(xlvalues, xlSecondary).HasTitle := True;
achart.Chart.Axes(xlvalues, xlSecondary).AxisTitle.Characters.Text := '右标说明'; 10)改变二维图的显示区大小
achart.Chart.PlotArea.Left := 5;
achart.Chart.PlotArea.Width := 223;
achart.Chart.PlotArea.Height := 108; 11)给二维图坐标轴加上说明
achart.chart.seriescollection[1].NAME:='坐标轴说明';