NumberFormat有效,但值仍然不同

时间:2009-06-19 16:32:31

标签: c# excel excel-2007 number-formatting

我正在使用C#在Excel-2007中执行操作。我有以下代码

   object mis = Type.Missing;
   Excel.Workbook wb = (Excel.Workbook)Globals.ThisAddIn.GetActiveWorkbook();
   Excel.Worksheet ws = (Excel.Worksheet)wb.Worksheets.Add(mis, mis, mis, mis);
   Excel.Range range = (Excel.Range)ws.get_Range("A1", "HM232");
   range.Formula = "Sheet4!A1:HM232*0.56+Sheet5!A1:HM232*0.45";
   range.NumberFormat = "0";

它正确地将所有单元格显示为整数十进制数而没有任何小数点...但是如果我请求单元格G5中的值,我会看到1,但是当我执行以下操作时

  MsgBox Range("G5").Value2

它显示了我0.933333222,你怎么做到这样使得Value2也被圆形值改变了??

1 个答案:

答案 0 :(得分:1)

您可以将该值转换为整数,以确保它四舍五入到最接近的整数,例如。

MsgBox Convert.ToInt32(Range.("G5").Value2)