資料有excel寫入另一個excel |
答題得分者是:syntax
|
ladies
一般會員 ![]() ![]() 發表:7 回覆:18 積分:5 註冊:2007-08-29 發送簡訊給我 |
|
P.D.
版主 ![]() ![]() ![]() ![]() ![]() ![]() 發表:603 回覆:4038 積分:3874 註冊:2006-10-31 發送簡訊給我 |
|
christie
資深會員 ![]() ![]() ![]() ![]() ![]() 發表:30 回覆:299 積分:475 註冊:2005-03-25 發送簡訊給我 |
------
What do we live for if not to make life less difficult for each other? |
ladies
一般會員 ![]() ![]() 發表:7 回覆:18 積分:5 註冊:2007-08-29 發送簡訊給我 |
|
P.D.
版主 ![]() ![]() ![]() ![]() ![]() ![]() 發表:603 回覆:4038 積分:3874 註冊:2006-10-31 發送簡訊給我 |
|
Coffee
版主 ![]() ![]() ![]() ![]() ![]() ![]() 發表:31 回覆:878 積分:561 註冊:2006-11-15 發送簡訊給我 |
|
syntax
尊榮會員 ![]() ![]() ![]() ![]() ![]() ![]() 發表:26 回覆:1139 積分:1258 註冊:2002-04-23 發送簡訊給我 |
不開啟excel下將資料讀寫
難不成你要「隔空抓藥」? 想要讀寫,就必須開檔,就一定要開檔,這跟吃/吐東西,要張嘴一樣 只是看你要如何吃而已 使用 ole 就必須安裝被 ole 的東西(該東西也必須支援 ole) 如果你不要安裝excel,你就必須安裝(還是要裝東西拉)某種中界介面,例如 DB <-> excel 的OBDC驅動 (很可惜這必須安裝 execel 才會有) 否則你必須自己想辦法,找第三方驅動程式,或是自己寫驅動程式囉! 開檔就是要指定讀寫目標,沒有那種不開檔,能讀寫東西的程式,要是這樣,硬碟都可以丟了,因為,既然可以憑空讀寫,要硬碟何用? 所以如果你要用 DB 的方式(可能你不會處理 ole吧),就必須找個中界程式/驅動,讓你能將 excel 當成 DB 來用 可以找找看第三方軟體,不然就直接使用 execel 的 ODBC driver(這樣最快,找台有裝execle的複製一下就可以),只是單獨散佈那幾個 DLL,不知道 MS 會不會找你麻煩囉! 要注意版權問題 或是試試看沒有版權的第三方 Driver,但這要你自己找囉,我也不確定會有,但 ODBC 的Driver 很多,試試找看看也無妨 ===================引 用 ladies 文 章=================== dear PD : 我知道,但我今天就是要在不開啟excel下將資料讀寫。 使用ole的方法前提是要有excel 如果機器不安裝excel下,我想利用DB的方法來做 但是並沒有試過,不知道是否有方法呢?? 謝謝 |
ladies
一般會員 ![]() ![]() 發表:7 回覆:18 積分:5 註冊:2007-08-29 發送簡訊給我 |
dear PD: 真的可以用fieldbyname,但是ado 提供者要有Microsoft.Jet.OLEDB.4.0 Provider(老師說的) 還有一個是自己開發excel元件,不過我不曉得沒這元件ok不ok。 它說這叫csv!樓上有個大大有提到。 所以,真是謝謝各位的解答,讓我又學到了^^ ===================引 用 P.D. 文 章=================== 我之前也曾有這樣的想法, 在網路上找過一些文件但似乎沒有可以用的, 或者我找尋的方向不對, 其實我也很想知道有沒有這樣的讀取方式! |
borland_delphi70
中階會員 ![]() ![]() ![]() 發表:8 回覆:50 積分:51 註冊:2002-12-06 發送簡訊給我 |
長官:
下述程式碼可以做到寫入 Excel ,先建 Excel 檔 copy 至D:\MyExcel.xls 做為DB使用,請先將Sheet1的cell[A1]填入A1,cell[B1]填入A2,並以下述程式碼測試(Sorry ... 不會上傳檔案)。 [code delphi] //ADOQ: tADOQuery; procedure TForm1.Button1Click(Sender: TObject); begin ADOQ.ConnectionString:= 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\MyExcel.xls;Persist Security Info=False;Extended Properties=Excel 8.0'; ADOQ.SQL.Clear; ADOQ.SQL.Add('insert into [Sheet1$] (A1, A2) values (''AA'', ''BB'')'); ADOQ.ExecSQL; end; [/code] |
ladies
一般會員 ![]() ![]() 發表:7 回覆:18 積分:5 註冊:2007-08-29 發送簡訊給我 |
嗯嗯!
我差不多也是這種作法,目前寫入的問題已經解決囉^^ 感謝各位大大,也請大家不吝指教。 ===================引 用 borland_delphi70 文 章=================== 長官: 下述程式碼可以做到寫入 Excel ,先建 Excel 檔 copy 至D:\MyExcel.xls 做為DB使用,請先將Sheet1的cell[A1]填入A1,cell[B1]填入A2,並以下述程式碼測試(Sorry ... 不會上傳檔案)。 [code delphi] //ADOQ: tADOQuery; procedure TForm1.Button1Click(Sender: TObject); begin ADOQ.ConnectionString:= 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\MyExcel.xls;Persist Security Info=False;Extended Properties=Excel 8.0'; ADOQ.SQL.Clear; ADOQ.SQL.Add('insert into [Sheet1$] (A1, A2) values (''AA'', ''BB'')'); ADOQ.ExecSQL; end; [/code] |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |