0
Excelファイルを読み込もうとしています。いくつかのセルは数式を含み、 "#REF!"として読み込まれます。私は数値計算のためにセルの値を求めています。私は数式については気にしません。数式を処理する方法はありますか? OLEDBでこれを行うことはできますか、またはinteropに切り替える必要がありますか?前もって感謝します。れたconnectionStringに、 OLEDBを使用してExcelを読み込み、一部のセルが正しく読み取られない
var connectionString = string.Format(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0};Extended Properties=""Excel 12.0;HDR=NO;IMEX=1""", fileName);
string firstSheetName;
using (OleDbConnection con = new OleDbConnection(connectionString))
{
con.Open();
DataTable dt = con.GetSchema("Tables");
firstSheetName = dt.Rows[0]["TABLE_NAME"].ToString();
}
var adapter = new OleDbDataAdapter("SELECT * FROM [" + firstSheetName + "]", connectionString);
var ds = new DataSet();
adapter.Fill(ds, "anyNameHere");
var data = ds.Tables["anyNameHere"];
string cellValue = (string)data.Rows[i].ItemArray[4];
私が "ImportMixedTypes =テキストTypeGuessRows = 0" を追加しようとしました。
var connectionString = string.Format(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0};Extended Properties=""Excel 12.0;HDR=NO;IMEX=1;TypeGuessRows=0;ImportMixedTypes=Text""", fileName);
これは役に立ちませんでした。
これはそのトリックでした。 – kurgaan