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

Alk*_*Alk 4 c# excel

我希望用C#中的软件从excel文件中获取单元格的值; 不是文本,因为文本取决于列的大小,我不能自己更改,软件不应该受到干扰.所以我的选择是获得价值.

我将我的单元格作为1:1的范围,因此我有一个Range对象,但语言无法识别Value字段和Value2字段.我尝试使用get_Value(),但它需要一个参数,我不知道要放入什么,我没有找到有关它的文档.这是我的代码(从循环中提取):

  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";
  }
Run Code Online (Sandbox Code Playgroud)

你能帮帮我吗?谢谢你提前.

naw*_*fal 7

我经常发现代码比全部需要的代码复杂一点.基本上读单元格就像:

Xl.Range rng = sheet.Cells[row, column] as Xl.Range;
return rng.Value2;
Run Code Online (Sandbox Code Playgroud)

  • Value2属性根据文档将日期和货币视为数字 - 因此,如果您需要DateTime对象,则必须使用get_Value (3认同)