によって切り捨てられる私は、Excel 2000/2003ワークブックからデータを取得するために、OleDbConnectionオブジェクトのクラスを使用しています:Excelのセルの値がOLEDBプロバイダ
string connectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" +
"Data Source=" + filename + ";" +
"Extended Properties=\"Excel 8.0;IMEX=1\";";
OleDbConnection connection = new OleDbConnection(connectionString);
connection.Open();
// code to get table name from schema omitted
var dataAdapter = new OleDbDataAdapter(string.Format("SELECT * FROM [{0}]", name),connection);
var myDataSet = new DataSet();
dataAdapter.Fill(myDataSet, "ExcelInfo");
は、今では、長さより大きいとワークシートでその細胞が判明255文字以上が切り捨てられています。これはMicrosoft.Jet.OLEDBプロバイダの制限ですか、それとも何かできることはありますか?
誰でも?
おかげでこれを追加します。私のインストーラはユーザーのレジストリを変更する必要があるため、やや醜い解決策ですが、うまくいくと思います。だから、管理者がインストーラを実行する限り。 –
私はここでは、マイクロソフトの提案を理解していない/あなたが16に変更した場合、それはちょうど最初の16行をチェックしないのですか? – leora
@ooo 0に変更すると、すべての行がスキャンされます。ただし、大規模な表にパフォーマンスに影響を及ぼす可能性があるため、注意してください。 – rmoore