Excel轉dbase 功能 |
答題得分者是:wyndog
|
P.D.
版主 發表:603 回覆:4038 積分:3874 註冊:2006-10-31 發送簡訊給我 |
|
wyndog
資深會員 發表:7 回覆:362 積分:348 註冊:2004-10-12 發送簡訊給我 |
如果是直接將 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 發送簡訊給我 |
引言: 如果是直接將 XLS 檔轉成 DBF 檔的話,可以這樣寫感謝 reptile 提供的方法, 但我實測過似乎無法通行, 會出現無法辨識的檔案格式, 不知還有沒有其他方法, 目前我是直接開啟該excel利用worksheet[r,c] 的方式一列列讀入!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 的話 我再研究一下 |
wyndog
資深會員 發表:7 回覆:362 積分:348 註冊:2004-10-12 發送簡訊給我 |
引言: 感謝 reptile 提供的方法, 但我實測過似乎無法通行, 會出現無法辨識的檔案格式, 不知還有沒有其他方法, 目前我是直接開啟該excel利用worksheet[r,c] 的方式一列列讀入!是哦?我是在我的環境上有測試過 雖然我是用 Windows XP SP2 Office 2003 應該也沒那麼大的差別吧... 要不要試試看先用 SELECT * FROM [Sheet1$] 看看,能不能正確聯結 Excel INTO DBF 那段,我是覺得怪怪,不過居然可以用 XD 我想可能跟 JetDB 的版本有關係吧 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |