2016-08-18 8 views
0

私はフォーマット2桁の値を、エクセル相互運用

10.50

20.25

41.10

可能性がExcelスプレッドシートのセルから値で読みたいです

私は値を取得するためにExcel Interopを使用しています。

以下は、10未満の値で動作しますが、10以上の値は0に設定されます。NumberFormatアクションを使用して正しくフォーマットするにはどうすればよいですか?

double doubleHours = 0.0; 

if (Extension.IsNumeric(excelWorksheet.Cells[rowCount, columnCount].Text)) 
{ 
    Excel.Range range = excelWorksheet.Cells[rowCount, columnCount]; 
    range.EntireColumn.NumberFormat = "#,##0.00"; 

    double.TryParse(excelWorksheet.Cells[rowCount, columnCount].Text, out doubleHours); 

    //continue processing 
} 
+0

は '.Text'は値が合わない "'' ####" のようなものを返すことができますので、代わりに' '.Value.ToString()を使用します – Slai

答えて

1
double doubleHours = 0.0; 
Excel.Range range = excelWorksheet.Cells[rowCount, columnCount]; 
string value = range.Value2.ToString(); 

if (double.TryParse(value, out doubleHours)) { 
    //continue processing 
}