Apache POI本地化date到Excel单元格
我有个问题。 我使用的是Apache POI 3.8,我需要设置date到Excel单元格。 但我不明白 – 如何根据用户区域设置date。 因为美国格式的date是月/日/年,在俄语区域 – 日/年/月。 我为我的任务使用下一个代码
CellStyle dateStyle = workbook.createCellStyle(); dateStyle.setDataFormat(dataFormat.getFormat("m/d/yy")); cell.setCellStyle(dateStyle);
如果有人知道 – 如何根据用户区域设置单元格date值,请回答。 注意。 如果我使用“m / d / yy h:mm”,那么我在Excel文件中看不到我的date(在单元格中我只看到“######”string)。 谢谢。
尝试并展开单元格。 有时如果单元格宽度太短######
被视为输出。 要获得本地化的模式,你可以看到这个参考
Excel根据打开文档的机器的区域设置显示date和数字。 所以你不需要关心它。
在你的代码中你使用模式“m / d / yy”。 Excel会自动将其转换为“de_DE”语言环境中的“dd.MM.yyyy”,“en_GB”语言环境中的“dd / MM / yyyy”等等。
你可以testing它改变你的机器的语言环境( 对于Windows: 控制面板 – >时钟,语言和地区 – >语言 – >更改date,时间或数字 )。 正如您将看到相同的Excel文档将显示不同的区域设置。
关于“######”,您可以使用Sheet#autosizeColumn 。 但要小心,因为正如文档中所述:
“这个过程在大尺寸纸张上可能会比较慢,所以在处理结束时通常应该每列只调用一次”
区域设置可以在formatListener上设置
MissingRecordAwareHSSFListener listener = new MissingRecordAwareHSSFListener(this); formatListener = new FormatTrackingHSSFListener(listener, Locale.UK);
- 如何评估这个公式在Apache的poi?
- 如何获取数据透视表最后一次使用POI + Java填充行号。 -version 3.12.x
- Apache POI版本3.8是否有助于解决“org.apache.poi.poifs.filesystem.OfficeXmlFileException”?
- 数据库中的随机值
- 在Java中使用apache poi格式化填充和线条图片
- 使用Apache POI的Java Selenium – 读取一个Excel文件将这两个行拉在一起
- 在Java Poi(Excel)中更改单元格格式(长度?)
- 如何获得合并单元格的数据在java中给出单元格索引?
- 解码由Excel生成的剪贴板的XML电子表格内容