接続文字列を介して Excel ファイルからデータを取得する際に大きな問題が発生しています。xls ファイルに接続し、次のクエリを実行します。
SELECT CDbl(COLUMN_NAME) FROM [SHEETNAME$]
COLUMN_NAME が文字列列 (または空のセルを含む数値列) を参照すると、失敗します。解決策はありますか?のような"ISNULL(COLUMN_NAME, 0)"
またはそのような何か???
ありがとう!
接続文字列を介して Excel ファイルからデータを取得する際に大きな問題が発生しています。xls ファイルに接続し、次のクエリを実行します。
SELECT CDbl(COLUMN_NAME) FROM [SHEETNAME$]
COLUMN_NAME が文字列列 (または空のセルを含む数値列) を参照すると、失敗します。解決策はありますか?のような"ISNULL(COLUMN_NAME, 0)"
またはそのような何か???
ありがとう!
Excel 接続マネージャーの接続文字列の末尾にプロパティ IMEX=1 を追加します。
サンプル:
http://www.connectionstrings.com/excel
これにより、混合データ型が文字列として扱われます。ただし、Excel は最初の 8 行のみをスキャンして、データ型が混在しているかどうかを判断します。これを変更するには、JET プロバイダーの TypeGuessRows レジストリ設定を変更する必要があります。0 に設定すると、すべての行がスキャンされます。
ここにもっと参考文献があります: