讀取Excel檔案,某些欄位值卻是空白? |
尚未結案
|
foxelf
初階會員 發表:9 回覆:42 積分:30 註冊:2003-03-05 發送簡訊給我 |
各位大大
我使用ADOConnection1連結Excel,使用ADOQuery去讀取Excel檔案,但是我發現在DBGrid裡面有某幾個欄位的資料卻是空的,我開啟Excel檔案去查確實是有資料的,不知道這是什麼原因導致資料讀不進去,要如何解決? 小弟用的是DELPHI7,Excel 無法讀取到資料的欄位內全變成空白值,以下是小弟連結EXCEL的程式碼 try
ADOConnection1.Connected :=False ;
ADOConnection1.Close;
ADOConnection1.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;'
'Data Source=' Opendialog1.FileName
';Mode=ReadWrite|Share Deny None'
';Extended Properties=IMEX=2'
';Excel 8.0;Persist Security Info=False';
ADOConnection1.Connected := True ;
except
raise Exception.Create('檔案開啟錯誤,請檢查檔案名稱或格式是否錯誤!');
end ; Sheet:=ListBox1.Items.Strings[iSheet]; //抓Sheet ADOQuery1.ConnectionString :=ADOQuery_ConnectionString;
StrSql := 'Select * From [' Sheet ']' ; ADOQuery1.Active := False;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add(StrSql);
ADOQuery1.Active := True;
|
cashxin2002
版主 發表:231 回覆:2555 積分:1937 註冊:2003-03-28 發送簡訊給我 |
您好﹗ 試試如下紅色處﹕
try
ADOConnection1.Connected :=False ;
ADOConnection1.Close;
ADOConnection1.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;'+
'Data Source='+Opendialog1.FileName+
';Mode=ReadWrite|Share Deny None'+
';Extended Properties=IMEX=1'+
';Excel 8.0;Persist Security Info=False';
ADOConnection1.Connected := True ;
except
raise Exception.Create('檔案開啟錯誤,請檢查檔案名稱或格式是否錯誤!');
end ; Sheet:=ListBox1.Items.Strings[iSheet];
ADOQuery1.ConnectionString :=ADOQuery_ConnectionString;
StrSql := 'Select * From ['+Sheet+']' ; ADOQuery1.Active := False;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add(StrSql);
ADOQuery1.Active := True; =================================
有空來瞅瞅我﹗因為我是您的朋友﹐有您真好﹗
================================
------
忻晟 |
foxelf
初階會員 發表:9 回覆:42 積分:30 註冊:2003-03-05 發送簡訊給我 |
|
cashxin2002
版主 發表:231 回覆:2555 積分:1937 註冊:2003-03-28 發送簡訊給我 |
您好﹗ 改成這樣試試﹕
try
ADOConnection1.Connected :=False ;
ADOConnection1.Close;
ADOConnection1.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;'+
'Data Source='+Opendialog1.FileName+
';Mode=ReadWrite|Share Deny None'+
';Extended Properties=IMEX=1'+
';Excel 8.0;Persist Security Info=False';
ADOConnection1.Connected := True ;
except
raise Exception.Create('檔案開啟錯誤,請檢查檔案名稱或格式是否錯誤!');
end ; Sheet:=ListBox1.Items.Strings[iSheet];
ADOQuery1.ConnectionString :=ADOQuery_ConnectionString;
StrSql := 'Select * From [Sheet$]' ; ADOQuery1.Active := False;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add(StrSql);
ADOQuery1.Active := True; =================================
有空來瞅瞅我﹗因為我是您的朋友﹐有您真好﹗
================================
------
忻晟 |
foxelf
初階會員 發表:9 回覆:42 積分:30 註冊:2003-03-05 發送簡訊給我 |
|
shunaarom
一般會員 發表:8 回覆:34 積分:18 註冊:2003-07-02 發送簡訊給我 |
|
foxelf
初階會員 發表:9 回覆:42 積分:30 註冊:2003-03-05 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |