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

Excel轉dbase 功能

答題得分者是:wyndog
P.D.
版主


發表:603
回覆:4038
積分:3874
註冊:2006-10-31

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-05-13 08:47:14 IP:61.71.xxx.xxx 未訂閱
請問各位! 如何用Delphi開啟一個已建好的Excel檔, 然後要將該內容儲存於DbaseIII的格式檔後關檔, 我參考Excel內的錄製下來的巨集指令沒有辦法使用! 謝謝!
wyndog
資深會員


發表:7
回覆:362
積分:348
註冊:2004-10-12

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-05-13 13:41:45 IP:60.248.xxx.xxx 未訂閱
如果是直接將 XLS 檔轉成 DBF 檔的話,可以這樣寫
procedure TForm1.Button1Click(Sender: TObject);
var
  cn: string;
begin
  cn := 'Provider=Microsoft.Jet.OLEDB.4.0;';
  cn := cn   'Data Source=C:\dict.xls;';//你的 Excel 檔名稱
  cn := cn   'Extended Properties=Excel 8.0;';      ADOQuery1.ConnectionString := cn;
  ADOQuery1.SQL.Text :=
    'SELECT * INTO dict '  // 這個 dict 就是你要的 dbf 檔名稱
    'IN "C:\" "dBase III;" '  
    'FROM [Sheet1$]';// 這個是 Excel 表單的名稱,記得要加 $
  ADOQuery1.ExecSQL;
end;
如果你是要用 Ole 控制 Excel 去存成 DBF 的話 我再研究一下
P.D.
版主


發表:603
回覆:4038
積分:3874
註冊:2006-10-31

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-05-17 17:11:59 IP:61.71.xxx.xxx 未訂閱
引言: 如果是直接將 XLS 檔轉成 DBF 檔的話,可以這樣寫
procedure TForm1.Button1Click(Sender: TObject);
var
  cn: string;
begin
  cn := 'Provider=Microsoft.Jet.OLEDB.4.0;';
  cn := cn   'Data Source=C:\dict.xls;';//你的 Excel 檔名稱
  cn := cn   'Extended Properties=Excel 8.0;';      ADOQuery1.ConnectionString := cn;
  ADOQuery1.SQL.Text :=
    'SELECT * INTO dict '  // 這個 dict 就是你要的 dbf 檔名稱
    'IN "C:\" "dBase III;" '  
    'FROM [Sheet1$]';// 這個是 Excel 表單的名稱,記得要加 $
  ADOQuery1.ExecSQL;
end;
如果你是要用 Ole 控制 Excel 去存成 DBF 的話 我再研究一下
感謝 reptile 提供的方法, 但我實測過似乎無法通行, 會出現無法辨識的檔案格式, 不知還有沒有其他方法, 目前我是直接開啟該excel利用worksheet[r,c] 的方式一列列讀入!
wyndog
資深會員


發表:7
回覆:362
積分:348
註冊:2004-10-12

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-05-18 10:00:26 IP:60.248.xxx.xxx 未訂閱
引言: 感謝 reptile 提供的方法, 但我實測過似乎無法通行, 會出現無法辨識的檔案格式, 不知還有沒有其他方法, 目前我是直接開啟該excel利用worksheet[r,c] 的方式一列列讀入!
是哦?我是在我的環境上有測試過 雖然我是用 Windows XP SP2 Office 2003 應該也沒那麼大的差別吧... 要不要試試看先用 SELECT * FROM [Sheet1$] 看看,能不能正確聯結 Excel INTO DBF 那段,我是覺得怪怪,不過居然可以用 XD 我想可能跟 JetDB 的版本有關係吧
系統時間:2024-11-25 22:43:40
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!