JasperReport를 여러 워크시트가 있는 Excel 파일로 내보내려면 어떻게 해야 합니까?
고객이 여러 개의 워크시트가 있는 Excel 형식으로 내보내기를 원한다는 보고서가 있습니다.기본적으로 두 쿼리는 동일한 매개 변수를 공유하지만 다른 모든 것은 다릅니다.
jasper-reports에서 여러 워크시트(이상적으로 서로 다른 데이터 소스에서)가 있는 Excel 파일로 내보내는 방법은 무엇입니까?
이 스레드 덕분에 여러 시트로 Excel 내보내기를 만드는 것이 정말 쉬웠습니다.제가 알아낸 것은 다음을 사용할 수 있다는 것입니다.
ArrayList<JasperPrint> list = new ArrayList<JasperPrint>();
list.add(jp1); list.add(jp2);
exporter.setParameter(JRXlsExporterParameter.JASPER_PRINT_LIST, list);
내보내기 도구는 자동으로 모든 JasperPrint 개체를 사용하여 각 시트를 구성합니다. 또한 Jasper 보고서의 이름(jrxml 파일에 지정된 대로)이 각 시트의 이름으로 사용됩니다.
현재 이 솔루션은 제 지역 프로젝트에서 작동하기 때문에 알려드리려고 합니다.
벨리사리우스 링크 덕분에 우리는 그것을 알아낸 것 같습니다.기본적인 방법은 일반적인 방법으로 각 시트에 대해 JasperPrint 개체를 만드는 것입니다.다음과 같은 이점이 있습니다.
JasperPrint firstWorkSheet = ...;
JasperPrint secondWorkSheet = ...;
JasperPrint 개체는 이 시점에서 이미 데이터 원본으로 채워졌습니다.그러면 다음을 수행합니다.
List<JRPrintPage> pages = new ArrayList<JRPrintPage>(secondWorkSheet.getPages());
int i = firstWorkSheet.getPages().size();
for (int count = 0; count < pages.size(); count++) {
firstWorkSheet.addPage(i, (JRPrintPage) pages.get(count));
i++;
}
이것이 설정하는 것은 무엇입니까?i
현재 페이지 수에 따라firstWorkSheet
(하나여야 함).그리고 나서 그것은 그 페이지들을 순환합니다.secondWorkSheet
첫 번째 워크시트에 추가합니다.
당신의 벽보 보고서에서 각 워크시트 jrxml 파일에 대해 한 페이지씩 인쇄하도록 설정되어 있는지 확인하십시오.변경 사항이 있으면 업데이트를 하러 오겠지만, 이것은 효과가 있을 것입니다.
업데이트:
사용해야 할 항목이 검색되었습니다.net.sf.jasperreports.engine.export.ooxml.JRXlsxExporter
대신에
net.sf.jasperreports.engine.export.JRXlsExporter
여러 워크시트로 내보낼 때 문제가 있는 것 같습니다.
또한 jrxml 파일의 설정은 다음과 같습니다.isIgnorePagination
요구 사항:
isIgnorePagination="true"
각 jrxml 파일을 단일 페이지로 내보냅니다.
그러면 설정해야 합니다.JRXlsExporterParameter.IS_ONE_PAGE_PER_SHEET
매개 변수를 true로 설정하여 각 페이지를 별도의 워크시트로 분할합니다.
현재 버전 6.1.1에 따라JRXlsExporter.setParameter
사용되지 않습니다.다음으로 대체해야 합니다.JRXlsExporter.setExporterInput
따라서 업데이트된 코드는 다음과 같습니다.
ArrayList<JasperPrint> sheets = new ArrayList<JasperPrint>();
sheets.add(sheet1);
sheets.add(sheet2);
exporter.setExporterInput(SimpleExporterInput.getInstance(sheets));
언급URL : https://stackoverflow.com/questions/3977658/how-do-you-export-a-jasperreport-to-an-excel-file-with-multiple-worksheets
'programing' 카테고리의 다른 글
django 사이트에서 서버 오류를 기록하는 방법 (0) | 2023.07.07 |
---|---|
"를 해결하는 방법은 'esModule'을 사용해야만 기본값으로 가져올 수 있습니다.비주얼 스튜디오 2019에서 인터옵' 플래그? (0) | 2023.07.07 |
경로에서 파일 이름을 추출하는 방법 (0) | 2023.07.07 |
Spring Security 헤더를 사용하지 않도록 설정해도 작동하지 않음 (0) | 2023.07.07 |
데이터 프레임에 열이 있는지 여부를 확인하는 방법 (0) | 2023.07.07 |