使用int.parse添加值

时间:2015-05-13 06:02:38

标签: c# excel

我正在遍历一些excel单元格来对细胞的值求和,一些单元格是空的,当我通过它时我得到newDict.update(..)错误。这是我的代码:

ObservableCollection<Product> ProductsObject = new ObservableCollection<Product>();

 for (int i = 0; i < GetProductByCategoryResultObject.Products.Count; i++)
     {
      ProductsObject.Add(GetProductByCategoryResultObject.Products[i]); 
     }
ProductListView.ItemsSource = ProductsObject;

我在想它是因为你无法解析一个空字符串,所以如果单元格为空,我该如何添加0呢?

3 个答案:

答案 0 :(得分:3)

使用int.TryParse

int parsed;
int.TryParse(ws.Cells[rowstart, 3].Value.ToString(), out parsed)
total += parsed;
如果字符串不是数字,

parsed将为0。

答案 1 :(得分:0)

使用int.TryParse代替int.Parse

int total = 0;
int rowstart = 4;

while (ws.Cells[rowstart, 1].Value.ToString() != "")
{
int val=0;
if (ws.Cells[rowstart, 1].Value.ToString() != ws.Cells[rowstart + 1, 1].Value.ToString())
{
   ws.InsertRow(rowstart + 1, 1);
   ws.Cells[rowstart + 1, 3].Value = total;
}
else
{ 
int.TryParse(ws.Cells[rowstart, 3].Value.ToString(), out val);
    total = total + val; 
   // I'm adding the value of Column 3 to the variable total, I get the error if the cell is empty
   rowstart = rowstart + 1;
}

}

答案 2 :(得分:0)

尝试以下代码

else
{ 
  If (int.TryParse(ws.Cells[rowstart, 3].Value.ToString(), out result))
    total = total +int.Parse(ws.Cells[rowstart, 3].Value.ToString());

   rowstart = rowstart + 1;
}