Excelのスプレッドシートをインポートするように要求されましたが、数値と英数字の両方を含む特定のセルをインポートする際に問題が発生しました。c#Excelのインポートクエリ
エクセル例えば、データセットは、アレイ内の空の列に得数値フィールドとしてその治療行2、COL(A)ロードされている場合、上記の例1として
Col
A B C
RowFake Address CF11 1XX
XX123 8 Fake Address CF11 1XX
。 OLEDBため
私の接続は、私は、データセットに文字列としてすべての内容を解析する必要がありIMEX = 1を設定しているこれに関連して
var dbImportConn = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + dataSource
+ @";Extended Properties=""Excel 8.0;HDR=No;IMEX=1"";")
です。また、私はRow 1 Col(A)を 'XX123'に変更すると、Col(A)全体が文字列として正常に解析されます!残念ながら、これは私のシナリオを助けるものではありません。エクセルファイルは、外部のクライアントから渡され、私の問題を解決するヘッダ行を持つファイルを通過させる手段がないことを知らせています。
この時点で、ファイルを編集して(プログラムで)ヘッダーを挿入すると、クライアントが変更する可能性があるので、これが安全なオプションではないことが考えられます。
基本的に私はスプレッドシート上の現在のフォーマットを扱い、すべてのセルを配列に渡すための解決策を見つける必要があります。以前誰かがこの問題に遭遇しましたか?またはこれを解決する方法を知っていますか?これが明確でない場合は
私は自分の考え おかげ スコット psのを待つだけでは、それはそれは、型の決定する前に、すべての列をスキャンするために、Excelを告げる変更することができますTypeGuessRowsと呼ばれるレジストリ設定があり
優れています。これは私を正しい方向に向ける。答えたすべての人に感謝します。 – Scott