p:dataExporter csv十进制列不在引号之间

时间:2015-04-09 10:42:43

标签: jsf csv primefaces

我有<p:dataExporter>生成CSV文件。 不幸的是,十进制列不在引号之间。这给我一些问题,因为我的小数点分隔符是逗号。

我该如何解决?也许可以为十进制值加上引号或更改CSV分隔符?

1 个答案:

答案 0 :(得分:1)

逗号作为小数分隔符是典型的欧洲语。反过来,欧洲CSV格式通常使用分号作为CSV分隔符。这也应该解决这个问题。

但是,<p:dataExporter>不支持通过某些标记属性更改CSV分隔符。逗号在PrimeFaces CSVExporter source code中是硬编码的,而不是参数化的。这也被报告为issue 4714,目前已被接受,但仍然开放超过一年。该问题还提到Lapis JSF exporter作为数据导出的替代解决方案。

快速解决方法是将原始CSVExporter source code file复制到WAR中,维护包结构,然后对其进行编辑,以便writer.write(",");替换所有writer.write(";"); /WEB-INF/lib。当WAR和{{1}}中的JAR都找到具有相同FQN的多个类时,WAR中的一个将在类加载中获得优先权并被替代使用。