原生工具使用的ET框架中的导表工具,但是美中不足的是此工具对于xmls等便签的中数据直接读取string,并没有考虑含有公式的情况。查了一些资料找到了解决办法:
部分代码展示:
XSSFCell cell = sheet.GetRow(i).GetCell(j) as XSSFCell;
String cellValue = null;
currentSheet = sheet;
currentRow = i;
currentColumn = j;
if (null != cell)
{
switch ((int)cell.CellType)
{
case 0:
cellValue = cell.NumericCellValue.ToString();
break;
case 1:
cellValue = cell.StringCellValue;
break;
case 2:
//对公式的处理
cell.SetCellType(CellType.String);
cellValue = cell.StringCellValue;
break;
case 3:
cellValue = "";
break;
case 4:
cellValue = cell.BooleanCellValue.ToString();
break;
case 5:
cellValue = cell.ErrorCellValue.ToString();
break;
}
}
处理思路就是通过XSSFCell .SetCellType();方法把标签中的数值转换成显示的数值 -公式计算后的值,而不是具体的计算公式,然后在转成字符类型