0

いくつかのヘッダーがあるExcelシートがあります。ヘッダーの1つはParam2です。Param2に割り当てられた変数は、私のコードではstrParam2です。これが私のコードでstrParam2が宣言されている方法です

 String strParam2 = xlRange.Cells[row, 7].Value;

私のコードは、理想的にはExcelシートのセルを読み取り、一連のアクションを実行します。ExcelシートのParam2の下のセルに2の値を指定しました。文字列に変換するために、私は行を使用しました

System.Int32.TryParse(strParam2.ToString(), out iDetailLevel);

ただし、「doubleをstringに暗黙的に変換できません」というエラーが発生します。この行も試しましたが、再度エラーが発生します。

System.Double.TryParse(strParam2.ToString(), out iDetailLevel);

ここでの問題は何ですか?誰かが以前に同じようなことを経験したことがありますか?

4

3 に答える 3

3

ほとんどの場合、を割り当てる行でエラーが発生します。これはstrParam2、を暗黙的に変換できないためです。xlRange.Cells[row, 7].Valuedoublestring

于 2012-06-26T11:38:15.500 に答える
2

その特定のセルの値がdoubleであり、コードが。implicitly convertを介して文字列に変換しようとしているよう=です。セルの値を確認し、それに応じて変換する必要があります

String strParam2 = xlRange.Cells[row, 7].Value;

だろう:

String strParam2 = xlRange.Cells[row, 7].Value.ToString();

あなたが言うようにstrParam2、コードの他の場所で使用されている場合は、ヘッダーテキストを保持する新しい文字列を作成し、変更しないでください。

string headerText = xlRange.Cells[row, 7].Value.ToString();

于 2012-06-26T11:41:46.840 に答える
0

あなたがラインを持っている場合:

String strParam2 = xlRange.Cells[row, 7].Value.ToString();

デュアンが示唆したように。解析内に.ToString()を含める必要はありません。strParam2値を使用するだけです。

于 2012-06-26T11:49:47.640 に答える