我想用C#讀取混合數據類型的excel文件。下面是我的連接字符串在不修改註冊表項的情況下讀取Excel InterMixed DataType
var path = //xls location
var MyConnection = new OleDbConnection("provider=Microsoft.Jet.OLEDB.4.0; Data Source='" + path + "';Extended Properties='Excel 8.0;IMEX=1;'");
研究告訴我說,在連接字符串中完全Extended Properties
應該是
Excel 8.0;IMEX=1;HDR=NO;TypeGuessRows=0;ImportMixedTypes=Text
不過,我還是那個通知在連接字符串中,TypeGuessRows=0
有沒有意義作爲價值將直接從註冊表採取。因此,我需要手動修改密鑰並從連接字符串中刪除此屬性。這是參與
特定的註冊表項是:
路徑:
HKEY_LOCAL_MACHINE \ SOFTWARE \微軟\噴氣\ 4.0 \發動機\ Excel中
重點:
TypeGuessRows
原值= ,以使其發揮作用的變化爲=
沒有這樣做的IMEX
將無法正常工作,甚至強硬。我添加TypeGuessRows=0
到Extended Properties
。
但是,我的公司禁止修改註冊表值(嚴格)。我被告知要找到替代方案。
簡而言之:
有沒有辦法來讀取混合數據類型的練成文件無需到修改任何註冊表項(這是一個相當普遍的做法)?
進一步話題:
你以前的經驗?有沒有可能,我們可以從連接字符串只設置TypeGuessRows=0
而無需修改註冊表項(取消我的上述前提)。
如果事情不OleDb
工作了:
是否有OleDb
旁邊的選擇嗎?
我欣賞任何意見或建議。
問候
偉大的發現!謝謝! – Bronek 2014-04-12 20:16:40