Java 如何使Jasper报告忽略文本字段中的换行符?

Java 如何使Jasper报告忽略文本字段中的换行符?,java,csv,jasper-reports,newline,Java,Csv,Jasper Reports,Newline,每当我将jasper报告导出到CSV文件时,如果文本字段包含新行字符,CSV中的记录将以两行而不是一行表示。 我们可以在jasper reports中进行任何设置,使其忽略文本字段中的新行字符吗? 我们使用iReport设计jasper报告。感谢您的任何帮助。 谢谢对我来说,这听起来不像是一个分隔符问题。您的源数据中的某个地方有一个新行。JasperReports导出报表中的数据,因此它具有此新行字符 这类似于源数据读取,abcdefg,你说你真的讨厌字母“d”,所以你不希望它出现在生成的CSV

每当我将jasper报告导出到CSV文件时,如果文本字段包含新行字符,CSV中的记录将以两行而不是一行表示。 我们可以在jasper reports中进行任何设置,使其忽略文本字段中的新行字符吗? 我们使用iReport设计jasper报告。感谢您的任何帮助。
谢谢

对我来说,这听起来不像是一个分隔符问题。您的源数据中的某个地方有一个新行。JasperReports导出报表中的数据,因此它具有此新行字符

这类似于源数据读取,abcdefg,你说你真的讨厌字母“d”,所以你不希望它出现在生成的CSV中。当然新线在某些方面很特别。。。但它仍然只是一个角色


您可以修改CSV导出器以删除回车或删除d。或者,您可以修改查询以将其删除。如果您的源代码是SQL,那么这将很简单。或者,您可以修改文本字段表达式以去除它们。例如,用于删除或替换新行字符。

您可以使用属性设置分隔符,也可以在java代码中设置分隔符。代码JRPrintServiceExporter=新的JRPrintServiceExporter;exporter.setParameterJRCsvExporterParameter.RECORD\u分隔符,\r\n;代码,但它不起作用。你用双引号了吗?您可以阅读亲爱的Alex,我看到的当前行为是带有“\n”字符的字段,在CSV文件中用双引号引起来。我没有使用xls打开CSV文件。我需要一种只考虑记录末尾的“\n”的方法。如果字段中有任何“\n”字符,则应忽略它。如果有任何提示,我将不胜感激。另外,当我使用文本编辑器检查确切的符号时,我发现行后有一个CR\r字符,并且字段有新行字符,文本编辑器显示它有LF换行字符。亲爱的mdahlman,我尝试为该特定列去掉新行字符。它起作用了。但我们有很多报告,实际上不可能修改每个报告中的每一列。对于导出CSV,我们不直接使用JRCsvExporter。我们依赖于内部jasper report API。我在考虑是否可以扩展JRCsvExporter并实现所需的功能。也许你能给我们提供更多关于这个解决方案的提示?我以前没有做过这样的扩展。当然有可能。。。但我无法估计所付出的努力。我会先在JasperReports论坛上提问。或者把它作为一个新问题贴在这里。很可能以前有人做过。