簡體   English   中英

使用 Jet 的 OleDbDataAdapter 數據類型不匹配

[英]OleDbDataAdapter datatype mismatch using Jet

我正在使用OleDbDataAdapter (准確地說是 Microsoft.ACE.OLEDB.12.0)從 Excel 工作簿中檢索數據。 對於一個表,我使用的是類型化數據集,但對於另一個表,我不能這樣做,因為列數是未知的(Excel 模板可能會生成額外的列)。

問題是,如果有人在一列中輸入了太多數值,“JET”似乎會假設它是一個數字列,並且不再加載文本值。 我知道您可以更改模板並為該列設置特定的數據類型,但模板已經廣泛傳播,所以我寧願在導入期間解決它。

現在我嘗試的是首先計算使用的列數並准備一個具有已定義 Columns 集合的新 DataTable 並將其 DataType 屬性設置為typeof(string) 可悲的是,JET 似乎並沒有看到這一點,仍然選擇了自己的方式。 我猜即使我可以在這里使用強類型數據集,它也無濟於事......

有誰知道如何告訴 JET 如何導入數據,這樣我就不必面對交付新模板版本的負擔?

** :不要附帶 Excel 自動化解決方案...

如果您有權訪問注冊表,請設置 TypeGuessRows=0 和/或 ImportMixedTypes=Text。 有關更多信息,請參見此處初始化設置

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM