cell.setCellType(Cell.CELL_TYPE_STRING)方法为什么会将列值清空?

cell.setCellType(Cell.CELL_TYPE_STRING)方法为什么会将列值清空?

                    Cell cellBf = row.getCell(13);
                    Cell cellBfzjzh = row.getCell(48);
                    if (cellBf == null) {
                        row.createCell(13).setCellValue("");
                        cellBf=row.getCell(13);
                    }
                    if (cellBfzjzh == null) {
                        row.createCell(48).setCellValue("");
                        cellBfzjzh=row.getCell(48);
                    }
                    cellBf.setCellType(Cell.CELL_TYPE_STRING);
                    cellBfzjzh.setCellType(Cell.CELL_TYPE_STRING);
                    
                    String accountNo = cellBfzjzh.getStringCellValue();
                    String bf = cellBf.getStringCellValue();

运行结果:accountNo ="",bf =""

导入文件中第14列和49列的值分别为:招财进宝、808800000002001;但是程序取到的值却都为空,若我将cellBf.setCellType(Cell.CELL_TYPE_STRING)、cellBfzjzh.setCellType(Cell.CELL_TYPE_STRING)这两行代码去除,程序就能够取到值了。而且并非所有的Excel导入文件都有这样的问题,大部分导入文件,即使有cellBf.setCellType(Cell.CELL_TYPE_STRING);cellBfzjzh.setCellType(Cell.CELL_TYPE_STRING)这两行导入代码,也是能够正常取到值。我不明白为什么会这样,请大家帮忙解答一下。