Java excel单元格内容读取为字符串格式

导出数据到Excel,并把单元格内容转为字符串。

java 复制代码
// 将单元格内容转化为字符串
private static String convertCellValueToString(Cell cell) {
    if (null == cell) {
        return null;
    }
    String returnValue = null;
    switch (cell.getCellType()) {
        case STRING:  //字符串
            returnValue = cell.getStringCellValue();
            break;
        case NUMERIC: //数字
            double numericCellValue = cell.getNumericCellValue();
            boolean isInteger = isInteger(numericCellValue);
            if (isInteger) {
                DecimalFormat df = new DecimalFormat("0");
                returnValue = df.format(numericCellValue);
            } else {
                returnValue = Double.toString(numericCellValue);
            }
            break;
        case BOOLEAN: //布尔
            boolean booleanCellValue = cell.getBooleanCellValue();
            returnValue = Boolean.toString(booleanCellValue);
            break;
        case BLANK: //空值
            break;
        case FORMULA: //公式
            // returnValue = cell.getCellFormula();
            try {
                returnValue = String.valueOf(cell.getNumericCellValue());
            } catch (IllegalStateException e) {
                returnValue = String.valueOf(cell.getRichStringCellValue());
            }
            break;
        case ERROR: //故障
            break;
        default:
            break;
    }
    return returnValue;
}
// 判断是否为整数,是返回true,否则返回false.
public static boolean isInteger(Double num) {
    double eqs = 1e-10; //精度范围
    return num - Math.floor(num) < eqs;
}

参考

POI读取excel时,单元格内容转化字符串
Java poi读取Excel中公式的计算值

相关推荐
Java中文社群40 分钟前
重要:Java25正式发布(长期支持版)!
java·后端·面试
每天进步一点_JL2 小时前
JVM 类加载:双亲委派机制
java·后端
用户298698530142 小时前
Java HTML 转 Word 完整指南
java·后端
渣哥2 小时前
原来公平锁和非公平锁差别这么大
java
渣哥3 小时前
99% 的人没搞懂:Semaphore 到底是干啥的?
java
J2K3 小时前
JDK都25了,你还没用过ZGC?那真得补补课了
java·jvm·后端
kfyty7253 小时前
不依赖第三方,不销毁重建,loveqq 框架如何原生实现动态线程池?
java·架构
isysc14 小时前
面了一个校招生,竟然说我是老古董
java·后端·面试
道可到8 小时前
Java 反射现代实践速查表(JDK 11+/17+)
java
侃侃_天下8 小时前
最终的信号类
开发语言·c++·算法