C#,将Npoi.ICell转换为双精度型

问题描述:

我使用NPOI从excel文件导入数值数据。至于阅读单元格,我有这个问题“不能隐式转换转换类型NPOI.SS.UserModel.ICell为双重”。C#,将Npoi.ICell转换为双精度型

public class Clas { 
     public double CellValue; 
     public string CellName; 
    } 

    ... 
    public CLAS ClasMaker(int a, int b) 
      { 
       C ClaA; 
       ClaA.CellValue = sheet.GetRow(a).GetCell(b) // here 
       ClaA.CellName = sheet.Getrow(a).GetCell(b-1).ToString() // As for string its okay i used ToString() 
      } 

如何将ICell转换为像ToString()这样的特定类型?

我不能将CellValue的类型更改为var。因为它在许多其他事情中宣称是双重的。

查看here以了解ICell的文档。它看起来像你想要做的是sheet.GetRow(a).GetCell(b).NumericCellValue。您可能还想将toString()更改为StringCellValue,因为toString可能只是使用散列代码或类别返回类名称。

试试这一个(未测试)

ClaA.CellValue = Convert.ToDouble(sheet.GetRow(a).GetCell(b).getStringCellValue());