Java Apache POI:记帐格式(必须在单元格格式对话框中以“记帐”形式显示)
我需要格式化excel单元格中的输入文本,将其样式设置为“会计”单元格。我正在使用以下代码:Java Apache POI:记帐格式(必须在单元格格式对话框中以“记帐”形式显示),java,excel,apache-poi,dataformat,cell-formatting,Java,Excel,Apache Poi,Dataformat,Cell Formatting,我需要格式化excel单元格中的输入文本,将其样式设置为“会计”单元格。我正在使用以下代码: HSSFCellStyle styleCurrency = workbook.createCellStyle();; CreationHelper ch = workbook.getCreationHelper(); styleCurrency.setDataFormat(ch.createDataFormat().getFormat("_-* # ##0\\ _\u20BD_-;-*
HSSFCellStyle styleCurrency = workbook.createCellStyle();;
CreationHelper ch = workbook.getCreationHelper();
styleCurrency.setDataFormat(ch.createDataFormat().getFormat("_-* # ##0\\ _\u20BD_-;-* # ##0\\ _\u20BD_-;_-* \"-\" _\u20BD_-;_-@_-"));
我从excel单元格中获取了regExp参数。(). 但当我检查单元格格式时,我得到的是('custom'),而不是('Accounting')。文字必须不带货币前缀,且必须为“会计”格式。如何实现?我在谷歌找不到任何解决方案
编辑:
我上面的regExp(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
正在转移到:\*\ \ 0\_₽_-;-* #\ ##0\ _₽_-;_-* "-" _₽_-;_-@_-代码>在Excel的单元格格式对话框中
POI或Excel本身在第一个#s之后添加斜杠
它必须是这样的:。-*_₽_-;-* # ##0\ _₽_-;_-* "-" _₽_-;_-@_-代码>(第一个#后面的空格,而不是斜杠)在Excel中按您想要的方式输入,在POI中读取,查看POI如何查看文件中编码的格式,然后重新使用?@Gagravarr很好的解决方法!=)但我已经解决了。当我在POI excel中键入\\\\\
时,将其读取为\\\\\\\\\
,为了修复它,我添加了逗号而不是空格。所以,
,
变成了。
。这真的很奇怪。。。