在C#中使用Excel互操作获取Range的NumberFormat

我正在尝试使用Microsoft.Office.Interop.Excel来读取c#中的excel文件。 我想读取单元格的范围,因为它比逐一读取单元格更快:

Range rbeg = (Range)sheet.Cells[1, i + 1]; Range rend = (Range)sheet.Cells[totalRowCount, i + 1]; Range range = sheet.get_Range(rbeg, rend); column = (object[,])range.Value2; 

问题是当我想通过调用获取单元格的数字格式:

 range.NumberFormat 

我得到System.DBNull。 当我称之为单细胞时,它是有效的。

我想区分具有数值和“%”值的单元格。

有任何想法吗?

请参阅文档 :

如果指定范围内的所有单元格不具有相同的数字格式,则[NumberFormat]返回Null。

你在这种情况下期待做什么?