線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1391
推到 Plurk!
推到 Facebook!

兩個有關Excel的疑問?

尚未結案
joseph110
一般會員


發表:19
回覆:28
積分:9
註冊:2002-09-05

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-03-03 10:02:01 IP:163.29.xxx.xxx 未訂閱
各位同好,我有兩個問題請教大家: 一 Excel欄位為日期格式,如何轉入Table中?(PS:因為Excel日期轉為字串在Table中為數字) 二 以下為我的程式片段,請問為什麼Excel無法結束? implementation uses comobj; {$R *.DFM} procedure TForm1.Button1Click(Sender: TObject); var msexcel:variant; i,j,k,l,m,n,recno,tmp_reba,tmp_rebatax,row,col:integer; tmp_date:string[8]; begin k:=0; l:=0; m:=0; n:=0; recno:=1; j:=filelistbox1.items.count; table1.Active:=false; table1.EmptyTable; table1.Active:=true; for j:=0 to j-1 do begin listbox1.itemindex:=j; filelistbox1.itemindex:=j; msexcel:=createoleobject('excel.application'); msexcel.workbooks.open(filelistbox1.filename); row:=msexcel.workbooks[1].worksheets[1].usedrange.rows.count; col:=msexcel.workbooks[1].worksheets[1].usedrange.columns.count; for i:=2 to row do begin if trim(msexcel.workbooks[1].worksheets[1].cells[i,2])<>'' then begin table1.Append; table1.FieldByName('ban').asstring:='12345678'; table1.FieldByName('serial_no').asfloat:=recno; table1.FieldByName('saleamt').asfloat:=msexcel.workbooks[1].worksheets[1].cells[i,5]; table1.FieldByName('buitax').asfloat:=msexcel.workbooks[1].worksheets[1].cells[i,6]; tmp_date:=datetostr(msexcel.workbooks[1].worksheets[1].cells[i,2]); table1.FieldByName('data_yymm_x5').asstring:='0' inttostr(strtoint(copy(tmp_date,1,4))-1911) copy(tmp_date,5,2); table1.Post; inc(recno); end; l:=i; label4.caption:=inttostr(i); label4.Repaint; end; msexcel.quit; k:=k l; inc(m); label3.caption:=inttostr(m); label3.Repaint; label6.caption:=inttostr(k); label6.Repaint; end; showmessage('Ok'); end; end.
flyup
資深會員


發表:280
回覆:508
積分:385
註冊:2002-04-15

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-03-03 13:23:11 IP:61.217.xxx.xxx 未訂閱
這一行錯誤 for j:=0 to j-1 do        
joseph110
一般會員


發表:19
回覆:28
積分:9
註冊:2002-09-05

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-03-03 13:47:09 IP:163.29.xxx.xxx 未訂閱
flyup兄,此行是因為我有超過一個以上檔案要轉入Table中.
flyup
資深會員


發表:280
回覆:508
積分:385
註冊:2002-04-15

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-03-03 14:16:01 IP:61.216.xxx.xxx 未訂閱
flyup兄,此行是因為我有超過一個以上檔案要轉入Table中.    for j:=0 to j-1 do // 0 到 -1 這樣對嗎?    
joseph110
一般會員


發表:19
回覆:28
積分:9
註冊:2002-09-05

發送簡訊給我
#5 引用回覆 回覆 發表時間:2003-03-03 14:24:58 IP:163.29.xxx.xxx 未訂閱
因為我將檔案名稱放入listbox1中,所以j=1 並不是0.
flyup
資深會員


發表:280
回覆:508
積分:385
註冊:2002-04-15

發送簡訊給我
#6 引用回覆 回覆 發表時間:2003-03-03 15:14:50 IP:61.216.xxx.xxx 未訂閱
請修改一下! 或 請懂得高手,另行提供詳解!    
chih
版主


發表:48
回覆:1186
積分:639
註冊:2002-04-02

發送簡訊給我
#7 引用回覆 回覆 發表時間:2003-03-03 15:58:07 IP:211.74.xxx.xxx 未訂閱
編譯時底下這一行過不去喔.. msexcel.workbooks.open(filelistbox1.filename);
andersonhsieh
版主


發表:33
回覆:531
積分:439
註冊:2002-06-10

發送簡訊給我
#8 引用回覆 回覆 發表時間:2003-03-03 16:09:18 IP:211.20.xxx.xxx 未訂閱
將這行for j:=0 to j-1 do 改為 for j:=0 to filelistbox1.items.count-1 do 將msexcel.workbooks.open(filelistbox1.filename); 改為 msexcel.workbooks.open(filelistbox1.items(J)); @@~~飛翔在天際的精靈~~@@
------
@@~~飛翔在天際的精靈~~@@
joseph110
一般會員


發表:19
回覆:28
積分:9
註冊:2002-09-05

發送簡訊給我
#9 引用回覆 回覆 發表時間:2003-03-03 16:24:36 IP:163.29.xxx.xxx 未訂閱
試過了還是不行.
chih
版主


發表:48
回覆:1186
積分:639
註冊:2002-04-02

發送簡訊給我
#10 引用回覆 回覆 發表時間:2003-03-03 16:29:36 IP:211.74.xxx.xxx 未訂閱
要不你的程式跟EXCEL檔案一起壓縮後上傳到求助區ㄋ???
引言: 試過了還是不行.
joseph110
一般會員


發表:19
回覆:28
積分:9
註冊:2002-09-05

發送簡訊給我
#11 引用回覆 回覆 發表時間:2003-03-04 09:20:29 IP:163.29.xxx.xxx 未訂閱
我昨天晚上將程式使用D6重新compile後竟然一切正常,原先是在D3,同一支程式 在不同的版本上竟有不同的結果,不禁讓人覺得疑惑?
andersonhsieh
版主


發表:33
回覆:531
積分:439
註冊:2002-06-10

發送簡訊給我
#12 引用回覆 回覆 發表時間:2003-03-04 09:50:31 IP:211.20.xxx.xxx 未訂閱
d3和d6本來就差異很大........ @@~~飛翔在天際的精靈~~@@
------
@@~~飛翔在天際的精靈~~@@
u86210779
一般會員


發表:16
回覆:41
積分:16
註冊:2004-06-08

發送簡訊給我
#13 引用回覆 回覆 發表時間:2005-11-01 09:52:53 IP:59.116.xxx.xxx 未訂閱
Joseph110 兄你好: 試試如此做 請將本行 msexcel:=createoleobject('excel.application'); 放在for j:=0 to j-1 do begin 之前, vFileName := filelistbox1.filename; msexcel.workbooks.open(vFileName); . . . . msexcel.workbooks.close(false,,false); //關閉 workbooks end; //for j:=0 to j-1 do begin msexcel.quit; //關閉excel
系統時間:2024-06-28 5:19:30
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!