WORD DOCX 문서 출력
Multiformat-view에서는 docx 형식의 출력을 지원하지 않는다. 따라서 JasperPrint와 JRDocxExporter를 사용하여 출력한다.
Excel 형식으로 출력하고 하는 경우 JRDocxExporter 대신 JRXlsExporter를 사용한다.
@Controller
public class ReportController {
@RequestMapping(value = "/reports/test.do")
public ModelAndView test(
@ModelAttribute(“testVO") TestVO testVO,
Map<String, Object> map, ModelMap model) throws Exception{
//---본인 프로젝트에 맞는 방법으로 쿼리를 실행하여 값을 리스트에 담는다---
List<Map<String,Object>> list = new ArrayList<Map<String,Object>>();
URL location = getClass().getResource("/파일명.jasper");
String reportPath = location.getPath(); // jasper파일의 경로를 불러와 reportPath에 저장한다.
JRBeanCollectionDataSource src = new JRBeanCollectionDataSource(list); // list로 datasource를 만든다.
JasperPrint jasperPrint = JasperFillManager.fillReport(reportPath, new HashMap() ,src);
JRDocxExporter exporter = new JRDocxExporter();
exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint);
exporter.setParameter(JRExporterParameter.OUTPUT_FILE_NAME, “저장할 경로”+“파일명.docx”);
exporter.exportReport(); // 지정한 경로에 docx 파일이 생성된다.