2012-03-02 4 views
1

わかるように、Excelは文字列データを読み込もうとすると文字列を切り捨てます。マイクロソフトでは、TypeGuessRowsをレジストリで0に設定する必要があると言います。しかし、私はそこでそれを変更することは許されていません(顧客の制限)。
私はこのExcelは文字列データを255シンボルに切り捨てます。レジストリを変更せずに文字列データ全体を読み取る方法

@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0}; Extended Properties=""Excel 8.0;HDR=No;IMEX=1;TypeGuessRows=0""" 

のように接続文字列でこのパラメータを書き込もうとしましたが、それは動作しません。

質問:どのようにTypeGuessRowsパラメータを変更せずにExcelファイルから文字列データ全体を読み取ることができますか?
この問題を解決する他の方法はありますか?私はinterop経由でExcelを使用することができます...

+0

代わりにMicrosoft.Office.Interop.Excel名前空間を使用してください。 –

答えて

0

いいえ問題はExcelではありません。これを変更する唯一の方法は、ACEドライバの代わりに、JETを使用してみてください、あなたが

1

を述べてきたように、レジストリにあるので、それは

(それはx86およびx64サーバ上で利用可能ですが、JETが唯一のx86です!)JETドライバです
Provider=Microsoft.ACE.OLEDB.12.0;Data Source=c:\myFolder\myExcel2007file.xlsx;Extended Properties="Excel 12.0 Xml;HDR=YES"; 
関連する問題