当前位置: 首页 > article >正文

解决Excel文件流读取数字为时间乱码问题

在将Excel文件流转换为Java中的List时,如果遇到文本被错误地识别为日期格式的问题,这通常是由于Apache POI库在处理单元格数据时默认的行为所导致的。Apache POI会尝试根据单元格的内容自动确定其类型,包括字符串、数字(可能解释为日期)、布尔值等。

为了解决这个问题,你可以在读取单元格数据时更明确地指定如何处理数字类型的单元格,特别是当你知道某些单元格应该被当作纯文本处理时。

使用DataFormatter:
DataFormatter类是一个有用的工具,它可以根据Excel中的格式设置将单元格内容转换为字符串。这可以帮助你避免类型识别的问题,因为DataFormatter会尽量保留单元格在Excel中的显示格式。

import org.apache.poi.ss.usermodel.*;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.apache.poi.ss.usermodel.DataFormatter;

List<List<String>> olist2 = new ArrayList<>();
Workbook workbook = new XSSFWorkbook(file.getInputStream());
DataFormatter dataFormatter = new DataFormatter();
for (Row row : workbook.getSheetAt(0)) {
    if(row.getRowNum() == 0){
        continue;
    }
    List<String> data = new ArrayList<>();
    for (Cell cell : row) {
        String cellData = dataFormatter.formatCellValue(cell);
        data.add(cellData);
    }
    olist2.add(data);
}

http://www.kler.cn/a/403809.html

相关文章:

  • 免费开源!DBdoctor推出开源版系统诊断工具systool
  • 【QT】绘图
  • [Realtek sdk-3.4.14b] RTL8197FH-VG新增jffs2分区操作说明
  • 「Mac玩转仓颉内测版24」基础篇4 - 浮点类型详解
  • ip代理池新玩法,收集全网可用代理01,初次验证存活ip
  • 利用Vue的相关特性,制作相册
  • vue中iframe的使用说明
  • 冒泡排序与选择排序
  • 【GNU】反汇编工具objdump
  • 2025蓝桥杯(单片机)备赛--扩展外设之I2C的重要应用--PCF8591(八)
  • python subprocess.run 详解
  • 力扣第58题:最后一个单词的长度
  • AI数字人视频小程序:引领未来互动新潮流
  • golang通用后台管理系统10(退出登录,注销token)
  • 程序里sendStringParametersAsUnicode=true的配置导致sql server cpu使用率高问题处理
  • 一、Docker 安装集
  • 脸书Facebook 多账号在同一设备登录且防关联的攻略!
  • Win11 24H2新BUG或影响30%CPU性能,修复方法在这里
  • k8s资源对象管理
  • Gin 框架中的表单处理与数据绑定
  • 第十九天 决策树与随机森林
  • Python循环请求接口
  • 高效协作:前后端合作规范与应对策略
  • 接口压力测试、性能测试工具
  • Python和MATLAB及Julia示例3D残差U-Net
  • Linux驱动开发(9):pinctrl子系统和gpio子系统--led实验