V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
git00ll
V2EX  ›  Java

同样一个文件,使用 excel 直接打开的,和使用 poi 读取,格式不一样

  •  
  •   git00ll · 2021-10-12 15:32:16 +08:00 · 1423 次点击
    这是一个创建于 1171 天前的主题,其中的信息可能已经有所发展或是发生改变。

    excel.xlsx 文件 有一列时间,选择自定义格式为 yyyy/m/d h:mm 保存后,实际存储的为该内置格式对应的索引,即十进制 22,十六进制 0x16, 但是 poi4.1.2 内置默认格式类 BuiltinFormats 中存储的 0x16 对应的时间格式为 m/d/yy h:mm 。 这就导致同样一个文件,使用 excel 直接打开的,和使用 poi 读取的,格式不一样。

    /**

    •   0, "General"<br>
      
    •   1, "0"<br>
      
    •   2, "0.00"<br>
      
    •   3, "#,##0"<br>
      
    •   4, "#,##0.00"<br>
      
    •   5, "$#,##0_);($#,##0)"<br>
      
    •   6, "$#,##0_);[Red]($#,##0)"<br>
      
    •   7, "$#,##0.00);($#,##0.00)"<br>
      
    •   8, "$#,##0.00_);[Red]($#,##0.00)"<br>
      
    •   9, "0%"<br>
      
    •   0xa, "0.00%"<br>
      
    •   0xb, "0.00E+00"<br>
      
    •   0xc, "# ?/?"<br>
      
    •   0xd, "# ??/??"<br>
      
    •   0xe, "m/d/yy"<br>
      
    •   0xf, "d-mmm-yy"<br>
      
    •   0x10, "d-mmm"<br>
      
    •   0x11, "mmm-yy"<br>
      
    •   0x12, "h:mm AM/PM"<br>
      
    •   0x13, "h:mm:ss AM/PM"<br>
      
    •   0x14, "h:mm"<br>
      
    •   0x15, "h:mm:ss"<br>
      
    •   0x16, "m/d/yy h:mm"<br>
      

    *

    •   // 0x17 - 0x24 reserved for international and undocumented
      
    •   0x25, "#,##0_);(#,##0)"<br>
      
    •   0x26, "#,##0_);[Red](#,##0)"<br>
      
    •   0x27, "#,##0.00_);(#,##0.00)"<br>
      
    •   0x28, "#,##0.00_);[Red](#,##0.00)"<br>
      
    •   0x29, "_(* #,##0_);_(* (#,##0);_(* \"-\"_);_(@_)"<br>
      
    •   0x2a, "_($* #,##0_);_($* (#,##0);_($* \"-\"_);_(@_)"<br>
      
    •   0x2b, "_(* #,##0.00_);_(* (#,##0.00);_(* \"-\"??_);_(@_)"<br>
      
    •   0x2c, "_($* #,##0.00_);_($* (#,##0.00);_($* \"-\"??_);_(@_)"<br>
      
    •   0x2d, "mm:ss"<br>
      
    •   0x2e, "[h]:mm:ss"<br>
      
    •   0x2f, "mm:ss.0"<br>
      
    •   0x30, "##0.0E+0"<br>
      
    •   0x31, "@" - This is text format.<br>
      
    •   0x31  "text" - Alias for "@"<br>
      

    */

    xuanbg
        1
    xuanbg  
       2021-10-12 17:20:01 +08:00
    poi 读取时间日期的话,需要判断一下列的类型。直接读基本上不可能正确读取日期时间
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   4362 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 19ms · UTC 05:33 · PVG 13:33 · LAX 21:33 · JFK 00:33
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.