0
次のExcelスプレッドシートから数字を解析する際に問題が発生しています。Excel Interlop ValueとText対Value2
コード:
var curQOH = toolkit.ExcelWorksheet.Cells[i, 28] as Range;
var curQAV = toolkit.ExcelWorksheet.Cells[i, 29] as Range;
if (!curQOH.Text.Contains("("))
Int32.TryParse(curQOH.Text, out lastQOH);
else
Int32.TryParse(curQOH.Value as string, out lastQOH);
if (!curQAV.Text.Contains("("))
Int32.TryParse(curQAV.Text, out lastQAV);
else
Int32.TryParse(curQAV.Value as string, out lastQAV);
上記のコードだけで罰金正の数を解析します。問題ありません。しかし、それは負の数を解析できないようです。
私の知るところでは、テキストは私に出力として(10)を得るために視聴者が見るものを私に与えると仮定します。値は正しい数値を返しますが、文字列にキャストした後は解析できないようです。 (私は文字列として値を保存したり、int型にキャストカント、なぜこの問題、Excel cell value as string won't store as string)
を使用し始めました。使用するのがはるかにいいです。 –
私はいつも 'Value2'を使っていましたが、これを' string'に変換して解析します。しかし(もし私があなたのコードを正しく読んでいるなら) '@ '(10)' 'を' int'にパースしようとします。これは失敗します。 –
@StephenRoss私はそれが持っているかどうかをチェックしています(文字がそうですから、-10を与えるべき値を行い、次にintに解析しています)。 –