C#,将Npoi.ICell转换为Double类型

时间:2017-04-25 20:25:56

标签: c# excel apache-poi npoi

我使用NPOI从excel文件导入数值数据。至于读取单元格,我遇到了这个问题"无法将转换类型NPOI.SS.UserModel.ICell隐式转换为Double"。

    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。因为它在许多其他事情中宣称为双倍。

2 个答案:

答案 0 :(得分:1)

查看here以获取ICell的文档。看起来你想要做的是sheet.GetRow(a).GetCell(b).NumericCellValue。您可能还希望将toString()更改为StringCellValue,因为toString可能只返回带有哈希码的类名或类似的东西。

答案 1 :(得分:1)

试试这个(未经测试)

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