【问题标题】:How to prevent Excel Cell format from changing如何防止 Excel 单元格格式发生变化
【发布时间】:2016-05-19 17:22:13
【问题描述】:

我目前正在使用AbstractExcelView将一些数据导出到excel文件中。

excel文件中所有列的数据格式为“通用”。

但是,当我输入单元格列时,它会将格式更改为日期

是否有任何 AbstractExcelView API 或方法来设置列数据类型以使其无法更改?

【问题讨论】:

  • 只是检查一下,您确实意识到,如果您输入该日期并将 excel 设置为一般,或者您将其切换回一般您的日期,您会以 excel 存储日期的格式看到它?如果您不希望将日期更改为日期的 excel 格式,您可以尝试通过在日期条目前加上 ' 来将其作为文本输入
  • 你能添加一些代码来显示发生了什么吗?

标签: java excel spring apache-poi abstractexcelview


【解决方案1】:

经过大量研究,我找到了问题的答案

创建两个主要对象:将用于格式化单元格的 DateFormat 和 CellStyle

  // To set these columns to text format
    final DataFormat fmt = workbook.createDataFormat();
    final CellStyle textStyle = workbook.createCellStyle();

设置单元格的样式和格式

    textStyle.setDataFormat(fmt.getFormat("@"));
    excelSheet.setDefaultColumnStyle(0, textStyle);

【讨论】:

    【解决方案2】:

    建议你:

    1. 将列中单元格的格式从General更改为Text
    2. 导入数据
    3. 将列中单元格的格式改回常规

    【讨论】:

      猜你喜欢
      • 2013-11-27
      • 1970-01-01
      • 2017-11-11
      • 2018-08-10
      • 2017-02-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多