4

約350列を含むCSVからデータをインポートしています。このCSVインポートは修正されており、私はそれを完全に制御できません。

Excel 2003でCSVを開こうとすると、列の制限が255(IV)であるため、部分的にしか読み込まれません。

OleDbとMicrosoft.Jet.OLEDB.4.0を使用してCSVをDataSetにロードすると、255列しか表示されません。さらに悪いことに、これらの255列の一部のデータにアクセスしようとすると、誤ったデータが表示され、値が一貫して分割されません。

CSVをExcelで開き、データを切り捨てて再保存すると、インポートは正常に機能します。

私の質問は、Jet.OLEDBプロバイダーでこの制限に遭遇した人は他にいますか。はいの場合、問題の回避策はありますか?いいえの場合、そのような大きなCSVをロードできる代替ソリューションはありますか?

注:これは1回限りのタスクではありません。エンドユーザーに、必要に応じてこのインポートを実行する参照/アップロードボタンを提供する必要があります。

4

4 に答える 4

3

http://www.codeproject.com/KB/database/CsvReader.aspxを使用して多くの成功を収めました。

于 2009-03-24T18:47:15.850 に答える
0

schema.iniCSV ファイルと同じフォルダにファイルを配置します。完全な構文については、こちらを参照してください。

于 2012-12-04T10:24:37.803 に答える
0

オブジェクト指向の方法でそれを行うことをお勧めします。File Helpers ライブラリを使用してみてください。http://www.filehelpers.com/。ファイル内の各行のオブジェクト表現を持つことができます。その後、このオブジェクトをデータベースに永続化できます。

于 2009-03-24T20:43:26.337 に答える