2012-04-25 3 views
1

jasper 보고서를 CSV 파일로 내보낼 때마다 텍스트 필드에 줄 바꿈 문자가 포함되어 있으면 CSV 내부의 레코드가 한 행 대신 두 행으로 표시됩니다. 재 스퍼 보고서에서 수행 할 수있는 설정이 있습니까? 그러면 텍스트 필드에있는 새로운 행 문자를 무시하게됩니까? iReport를 사용하여 재스퍼 보고서를 디자인합니다. 모든 종류의 도움을 주시면 감사하겠습니다. 감사합니다.Jasper Reports가 텍스트 필드에서 줄 바꿈 문자를 무시하도록하려면 어떻게해야합니까?

+0

[net.sf.jasperreports.csv.record.delimiter] (http://jasperforge.org/uploads/publish/jasp erreportswebsite/trunk/config.reference.html # net.sf.jasperreports)를 사용할 수 있습니다. csv.record.deli miter) 구분 기호 설정을위한 속성 –

+0

자바 코드에서 구분 기호를 설정하려고했습니다. 'code' JRPrintServiceExporter 수출업자 = 새로운 JRPrintServiceExporter(); exporter.setParameter (JRCsvExporterParameter.RECORD_DELIMITER, "\ r \ n"); 'code' 하지만 작동하지 않았습니다. – user613114

+0

큰 따옴표를 사용 했습니까? [csv 형식에 대한 요구 사항] (http://www.csvreader.com/csv_format.php) –

답변

0

정말 내게 구분 기호 질문이 아닙니다. 소스 데이터에 어딘가에 새로운 라인이 있습니다. JasperReports는 보고서의 데이터를 내보내므로이 새로운 줄 문자가 있습니다.

소스 데이터가 "abcdefg"인 것과 비슷하지만 실제로 'd'문자가 싫다고 말하면 생성 된 CSV에 나타나지 않게 할 수 있습니다. 물론 ... 새로운 라인은 어떤면에서 특별합니다 ...하지만 여전히 캐릭터입니다.

캐리지 리턴을 제거하거나 'd'를 제거하도록 CSV 내보내기를 수정할 수 있습니다. 또는 쿼리를 수정하여 제거 할 수도 있습니다. 소스가 SQL이면 간단합니다. 또는 텍스트 필드 표현식을 수정하여이를 제거 할 수 있습니다. 예를 들어, 새 줄 문자를 삭제하거나 바꾸려면 Apache Commons Lang StingUtils을 사용하십시오.

+0

친애하는 mdahlman, 나는 그 perticular 열에 대한 새로운 라인 문자를 제거하려고했습니다. 그것은 작동합니다. 그러나 우리는 많은 보고서를 가지고 있으며, 각 보고서의 각 열을 수정할 수는 없습니다. CSV를 내보내려면 JRCsvExporter를 직접 사용하지 않습니다. 우리는 내부 jasper report API에 의존합니다. 어쨌든 JRCsvExporter를 확장하고 require 기능을 구현할 수 있다면 생각했습니다. 이 솔루션에 대한 더 많은 힌트를 제공해 주시겠습니까? – user613114

+0

이전에 그런 확장 프로그램을 만들지 않았습니다. 그것은 확실히 가능합니다 ...하지만 노력을 예측할 수 없습니다. 나는 JasperReports 포럼에 대해 질문하는 것으로 시작할 것입니다. 또는 여기에 새로운 질문으로 게시하십시오. 그것은 누군가가 전에 그것을했을 가능성이 높습니다. – mdahlman

관련 문제