excel 要如何加入新的chart 和sheet |
尚未結案
|
zonhon
一般會員 發表:4 回覆:5 積分:1 註冊:2004-09-13 發送簡訊給我 |
請問各位先進: 我在寫excel加入新的chart 和sheet時一直有問題,
是否有高人能指點一下該如何寫才能正確執行??? 下面是我寫Worksheets.Add的方式:
procedure TWinForm.Button1_Click(sender: System.Object; e: System.EventArgs);
var
objApp:Excel.Application;
objSheet:Excel._Worksheet; begin
objApp :=Excel.ApplicationClass.Create;
objApp.Workbooks.Add(1);
objSheet:= objApp.Workbooks[1].Worksheets[1];
objApp.Worksheets.Add(0,objApp.Workbooks[1].Worksheets
[1],1,xlWorksheet);
end;
|
chiehmin
高階會員 發表:13 回覆:134 積分:134 註冊:2002-05-23 發送簡訊給我 |
uses Excel, System.Reflection; ... ... procedure TWinForm.Button1_Click(sender: System.Object; e: System.EventArgs); var objApp: Excel.Application; xlsWorkSheet: WorkSheet; xlsWorkBook: WorkBook; xlsChartObjects: ChartObjects; xlsChartObject: ChartObject; xlsChart: Chart; args7: Array[0..10] of TObject; range5: Range; array5: Array[0..1, 0..9] of Double; i: Integer; begin objApp :=Excel.ApplicationClass.Create; objApp.Visible := True; //加入新sheet xlsWorkBook := objApp.Workbooks.Add(1); xlsWorkSheet := xlsWorkBook.Worksheets[1]; objApp.Worksheets.Add(Missing.Value, xlsWorkSheet, 1, XlSheetType.xlWorksheet); xlsWorkSheet.Activate; //加入新chart xlsChartObjects := xlsWorkSheet.ChartObjects(Missing.Value); xlsChartObject := xlsChartObjects.Add(10, 60, 420, 210); xlsChart := xlsChartObject.Chart; range5 := xlsWorkSheet.get_Range('A1', 'J2'); For i := 0 to 9 do begin array5[0, i] := i; array5[1, i] := i * 2; end; range5.Value2 := array5; args7[0] := range5; args7[1] := XlChartType.xl3DColumn; args7[2] := Missing.Value; args7[3] := XlRowCol.xlRows; args7[4] := 0; args7[5] := 0; args7[6] := true; args7[7] := '標題'; args7[8] := String('X'); args7[9] := String('Y'); args7[10] := Missing.Value; TypeOf(xlsChart).InvokeMember('ChartWizard', BindingFlags.InvokeMethod, nil, xlsChart, args7); MessageBox.Show('完成!!!'); end;發表人 - chiehmin 於 2004/09/16 23:12:26 |
zonhon
一般會員 發表:4 回覆:5 積分:1 註冊:2004-09-13 發送簡訊給我 |
args7[0] := range5;
args7[1] := XlChartType.xl3DColumn;
args7[2] := Missing.Value;
args7[3] := XlRowCol.xlRows;
args7[4] := 0;
args7[5] := 0;
args7[6] := true;
args7[7] := '標題';
args7[8] := String('X');
args7[9] := String('Y');
args7[10] := Missing.Value;
TypeOf(xlsChart).InvokeMember('ChartWizard', BindingFlags.InvokeMethod, nil, xlsChart, args7);
===================================================================
請問一下這是否可以非陣列的方法寫入, 以類似excel 巨集加入chart的方式
來增加???????? 還有在excel9.0~11.0中的不同版本是否所使用的方式都是不同的????
因為我將寫好的程式(excel 11.0)換到另一台電腦(excel 9.0)上已經
寫好的方法都不能用, 是excel版本問題還是我電腦問題或者是Delphi
有問題???? 發表人 - zonhon 於 2004/09/21 22:13:06
|
chiehmin
高階會員 發表:13 回覆:134 積分:134 註冊:2002-05-23 發送簡訊給我 |
===================================================================
請問一下這是否可以非陣列的方法寫入, 以類似excel 巨集加入chart的方式
來增加???????? 我是參考C#範例修改的..所以不知道有沒有其它方法可以增加 還有在excel9.0~11.0中的不同版本是否所使用的方式都是不同的????
因為我將寫好的程式(excel 11.0)換到另一台電腦(excel 9.0)上已經
寫好的方法都不能用, 是excel版本問題還是我電腦問題或者是Delphi
有問題???? 是否有把Excel.Dll一併複製到另一台電腦上呢?? 不知道是不是這個問題.. 發表人 - chiehmin 於 2004/09/21 22:18:42
|
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |