问题描述:
使用npoi2.0.1.0自定义导出的excel文档为文本格式,在excel中无法直接进行公式计算,不方便使用,需要手工转为数值型才能进行计算。
解决方式:
原先的方式时获取行(Row)进行建立单元格(Cell),设置单元格的值。
由于数据库中为varchar类型,读出的数字型均默认转为文本型。
sheet.GetRow(i + 1).CreateCell(2).SetCellValue(myds.Tables[0].Rows[i][2].ToString());
因此需要对格式进行设置,设置单元格类型为数值型(CellType.NUMERIC)
将字符型数据转为Double型(Convert.ToDouble)
sheet.GetRow(i + 1).CreateCell(6, CellType.NUMERIC).SetCellValue(Convert.ToDouble(myds.Tables[0].Rows[i][6].ToString()));
根据需求设置不同的数据格式即可,对于不熟悉的还是查看官方文档,基本上能解决大多数的问题。解决完成后,导出的excel即为数值型,