1. 程式人生 > >NPOI,將單元格的值轉換為字串

NPOI,將單元格的值轉換為字串

<pre name="code" class="csharp">  private static string getCellStringValueAllCase(NPOI.SS.UserModel.ICell tCell)
        {
            string tempValue = "";
            switch (tCell.CellType)
            {
                case NPOI.SS.UserModel.CellType.BLANK:
                    break;
                case NPOI.SS.UserModel.CellType.BOOLEAN:
                    tempValue = tCell.BooleanCellValue.ToString();
                    break;
                case NPOI.SS.UserModel.CellType.ERROR:
                    break;
                case NPOI.SS.UserModel.CellType.FORMULA:
                    NPOI.SS.UserModel.IFormulaEvaluator fe = NPOI.SS.UserModel.WorkbookFactory.CreateFormulaEvaluator(tCell.Sheet.Workbook);
                    var cellValue = fe.Evaluate(tCell);
                    switch (cellValue.CellType)
                    {
                        case NPOI.SS.UserModel.CellType.BLANK:
                            break;
                        case NPOI.SS.UserModel.CellType.BOOLEAN:
                            tempValue = cellValue.BooleanValue.ToString();
                            break;
                        case NPOI.SS.UserModel.CellType.ERROR:
                            break;
                        case NPOI.SS.UserModel.CellType.FORMULA:
                            break;
                        case NPOI.SS.UserModel.CellType.NUMERIC:
                            tempValue = cellValue.NumberValue.ToString();
                            break;
                        case NPOI.SS.UserModel.CellType.STRING:
                            tempValue = cellValue.StringValue.ToString();
                            break;
                        case NPOI.SS.UserModel.CellType.Unknown:
                            break;
                        default:
                            break;
                    }
                    break;
                case NPOI.SS.UserModel.CellType.NUMERIC:

                    if (NPOI.SS.UserModel.DateUtil.IsCellDateFormatted(tCell))
                    {
                        tempValue = tCell.DateCellValue.ToString("yyyy-MM-dd");
                    }
                    else
                    {
                        tempValue = tCell.NumericCellValue.ToString();
                    }
                    break;
                case NPOI.SS.UserModel.CellType.STRING:
                    tempValue = tCell.StringCellValue.Trim();
                    break;
                case NPOI.SS.UserModel.CellType.Unknown:
                    break;
                default:
                    break;
            }
            return tempValue;
        }