0

私はVs2008を使用しています。

Excelファイルをインポートする機能が1つあります。現在、Excelファイルにはコンマ付きの数値データを含めることができます。ただし、同じ数値列のデータセットを見ると、コンマが削除されています。

私は接続文字列を使用しています:

string ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" +
            "Data Source=" + "_EXCEL_FILE_NAME_" + ";Extended Properties=\"Excel 8.0; IMEX=1; HDR=YES\""

拡張プロパティのすべての組み合わせを試しましたが、何も機能しませんでした。

インターネットで検索したところ、Microsoft.jet.oledbプロバイダーによって公開されている一種の制限であることがわかりました。

私が間違っている場合は私を訂正し、この問題を回避する方法を教えてください。

4

3 に答える 3

3

カンマは実際にはデータの一部ではありません - Excel で表示されたときのデータの表現にのみ含まれています!!

Excel に数値データのフィールドがあり、エクスポート時にカンマが必要な場合は、先頭の'トリックを使用して文字列などの他のタイプに変換する必要があります。

于 2011-12-16T09:15:47.290 に答える
1

問題は、カンマを小数点記号として使用する 10 進数をインポートし、小数点をセパレータとして使用するシステムにインポートすると、カンマが 3 桁区切り記号として解釈される可能性があることです。

解決策は、これらの SO スレッドで見つけることができます:ここここ

データをインポートするときに、 および を使用して数値形式を明示的に指定することができNumberStylesますCultureInfo。これらはカルチャ固有のものであり、形式を指定しないと、予期しない値がデフォルトになり、非常に大きな値になる場合があります。

于 2011-12-16T13:10:52.883 に答える
0

この問題を解決するには、これを使用するすべてのコンピューターで次のことを行う必要があります。

  1. レジストリエディタを開く
  2. TypeGuessRowsを検索します
  3. 0に変更します

その後はもう問題はないはずです...

于 2012-01-11T14:18:36.657 に答える