JAVA使用POI导出设置列格式为文本格式

文章目录

  • 前言
  • 一、为什么要设置成文本形式
  • 二、设置文本格式
    • 1、第一种方式
    • 2、第二种方式
  • 总结


前言

提示:JAVA使用POI进行导出时,将列格式设置成文本形式。


一、为什么要设置成文本形式

例如我们导出的时候,某列的数据格式是数字类型,在JAVA代码中我们是以String字符串类型的格式进行导出的,但是在excel中却被认为数字太大,自动用了科学计数法来转换。

导出时没设置文本格式的情况下:

JAVA使用POI导出设置列格式为文本格式_第1张图片

在鼠标点击列后,会自动将格式转换成下方或其他形式,导致我们的数据出现差异,不是我们想要的数据:

JAVA使用POI导出设置列格式为文本格式_第2张图片

二、设置文本格式

1、第一种方式

这个方法就是EXCEL默认的格式,写不写都一样(最终测试不生效)

Cell cell = row.getCell(0);
cell.setCellType(Cell.CELL_TYPE_STRING);

2、第二种方式

//设置文本格式
Cell cell = row.getCell(0);
CellStyle cellStyle = workbook.createCellStyle();
XSSFDataFormat format = workbook.createDataFormat();
cellStyle.setDataFormat(format.getFormat("@"));
cell.setCellStyle(cellStyle);

通过这种方式进行设置,导出的数据就是以纯文本形式展现。

JAVA使用POI导出设置列格式为文本格式_第3张图片

总结

本人在做项目时遇到这个问题,在百度查询了相关文章后做此笔记。

你可能感兴趣的:(apache,poi,java,apache)