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

C#,将Npoi.ICell转换为双精度类型,c#,excel,apache-poi,npoi,C#,Excel,Apache Poi,Npoi,我正在使用NPOI从excel文件导入数字数据。至于读取单元格,我遇到了这个问题“不能隐式地将转换类型NPOI.SS.UserModel.ICell转换为Double” 如何将ICell转换为ToString()之类的特定类型 我无法将CellValue的类型更改为var,因为它在许多其他情况下声明为double。查找ICell的文档。看起来您要做的是sheet.GetRow(a).GetCell(b).NumericCellValue。您可能还希望将toString()更改为StringCel

我正在使用NPOI从excel文件导入数字数据。至于读取单元格,我遇到了这个问题“不能隐式地将转换类型NPOI.SS.UserModel.ICell转换为Double”

如何将ICell转换为ToString()之类的特定类型

我无法将CellValue的类型更改为var,因为它在许多其他情况下声明为double。

查找ICell的文档。看起来您要做的是sheet.GetRow(a).GetCell(b).NumericCellValue。您可能还希望将toString()更改为StringCellValue,因为toString可能只返回带有哈希代码或类似排序的类名

试试这个(未测试)

    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()
            }
ClaA.CellValue = Convert.ToDouble(sheet.GetRow(a).GetCell(b).getStringCellValue());