21xrx.com
2024-12-23 02:25:17 Monday
登录
文章检索 我的文章 写文章
【Java操作Excel导入数据日期变成数字解决方案】
2023-06-15 19:55:07 深夜i     --     --
Java Excel 日期格式化

在Java开发过程中,经常需要对Excel文件进行操作,比如读取数据、修改数据等。在数据导入过程中,我们可能会遇到一个问题:Excel中的日期格式在导入后会变成数字格式,无法正确显示日期。本文将给出解决方案,让导入的日期能够正确显示。

在Java中,我们可以使用POI库进行Excel的操作。在数据导入过程中,我们可以通过设置单元格的格式,将日期格式化成字符串,从而正确显示。

以下是一个简单的示例代码,演示如何将Excel中日期格式化并正确导入:


import org.apache.poi.ss.usermodel.Cell;

import org.apache.poi.ss.usermodel.CellType;

import org.apache.poi.ss.usermodel.DateUtil;

import org.apache.poi.ss.usermodel.Row;

import org.apache.poi.ss.usermodel.Sheet;

import org.apache.poi.ss.usermodel.Workbook;

import org.apache.poi.xssf.usermodel.XSSFWorkbook;

import java.io.FileInputStream;

import java.text.SimpleDateFormat;

public class ExcelImportDemo {

  public static void main(String[] args) throws Exception {

    String filePath = "data.xlsx";

    FileInputStream inputStream = new FileInputStream(filePath);

    Workbook workbook = new XSSFWorkbook(inputStream);

    Sheet sheet = workbook.getSheetAt(0);

    for (Row row : sheet) {

      for (Cell cell : row) {

        if (cell.getCellType() == CellType.NUMERIC && DateUtil.isCellDateFormatted(cell)) {

          SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");

          String formattedDate = dateFormat.format(cell.getDateCellValue());

          System.out.print(formattedDate + "\t");

        } else {

          System.out.print(cell.toString() + "\t");

        }

      }

      System.out.println();

    }

    workbook.close();

    inputStream.close();

  }

}

通过判断单元格类型以及使用日期格式化对象,我们可以将Excel中的日期正确导入。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复