C#:使用Excel.interop获取单元格的值

我想用C#中的软件从excel文件中获取单元格的值; 不是文本,因为文本取决于列的大小,我不能自己改变它,软件不应该被这个打扰。 所以我的select是获得价值。

我得到我的单元格为1:1的范围,所以我有一个Range对象,但值字段和Value2字段不识别该语言。 我尝试了get_Value(),但它需要一个参数,我不知道该如何放置它,我没有find关于它的文档。 这是我的代码(从循环中提取):

if((string)(ws_Varsheet.get_Range("L" + iIndex, "L" + iIndex).Text) != "") { rng_ResolutionCell = ws_Varsheet.get_Range("L" + iIndex, "L" + iIndex); float iResolution; rng_ResolutionCell.Cells.get_Value(&iResolution); //what to do here? str_Resolution = ((string)iResolution.toString()).Replace(",","."); str_Resolution = str_Resolution.Replace(" ",""); mObj.Str_Resolution="1"; } 

你能帮我吗? 感谢提前。

我经常发现代码比所有需要更复杂一点。 基本上阅读一个单元格是如此简单:

 Xl.Range rng = sheet.Cells[row, column] as Xl.Range; return rng.Value2; 

从MSDN的这个post看来,你会想要的东西,如:

 var cellRangeValue = rng_ResolutionCell.get_Value(System.Type.Missing); 

也:

 newWS = (Microsoft.Office.Interop.Excel.Worksheet)newWB.Worksheets[2]; newWS.Select(); string ExcelCellContent = (string)newWS.Cells[2, 1].Value2; 

用法:

 if((string)(ws_Varsheet.Cells[x, y].Value2 != "") { // process }