質問: "TABLE NAME"; bulkCopy.ColumnMappings.Add("Mobilenumber", "Mobilenumber"); bulkCopy.WriteToServer(dr); ``` 上記のコードを挿入すると、データベースの列にテキストデータ型の列のモバイル番号が表示されます。mobilenumber varchar(100) 一部の数値は変更なしで挿入されますが、いくつかの数値は指数値として挿入されます。 Excelの列のデータ型が先行ゼロのNumberに変更された場合、指数型に変換せずに0がデータベーステーブルに挿入されます。 私の要件は、シートデータ型(シートのみ)を手動で変換せずに、多数のファイルをアップロードする必要があるためアップロードする必要があります。どうか、これについて助けてください。
回答: 以下の接続文字列を使用し、JetとACEのレジストリでTypeGuessRows = 0の設定を変更します。 ``` ExelconnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + filname + ";Extended Properties=\"Excel 8.0;IMEX=1;ImportMixedTypes=Text;TypeGuessRows=0;\""; ExelconnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + filname + ";Extended Properties='Excel 12.0;IMEX=1;ImportMixedTypes=Text;TypeGuessRows=0';"; ```