2011-08-30 21 views
9

मैं JasperReports 4.1.1 में .xlsx में फ़ाइल को निर्यात करने का तरीका नहीं ढूंढ सकता। वर्ग:
जैस्पररपोर्ट्स xlsx को निर्यात करते हैं, xls

JRXlsExporter 

एक Xlsx बराबर नहीं है। और मुझे आउटपुट प्रारूप को xls से xlsx में सेट करने के लिए पैरामीटर नहीं मिल रहा है।

+3

आप इस देखा है: http://jasperreports.sourceforge.net/api/net/sf/jasperreports/engine/export/ooxml/JRXlsxExporter.html –

+0

@Alex आप चाहिए एक जवाब में डाल दिया। –

+0

@jschoen ठीक है, धन्यवाद –

उत्तर

14

JRXlsxExporter कक्षा का निर्यात XLSX प्रारूप में निर्यात के लिए किया जाना चाहिए।

का उपयोग करने का नमूना:

 JRMapArrayDataSource dataSource = new JRMapArrayDataSource(data); 

     JasperReport jasperReport = JasperCompileManager.compileReport(reportJRXMLSource); 
     JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, params, dataSource); 

     JRXlsxExporter exporter = new JRXlsxExporter(); 
     exporter.setParameter(JRXlsExporterParameter.JASPER_PRINT, jasperPrint); 
     exporter.setParameter(JRXlsExporterParameter.OUTPUT_FILE_NAME, outputFileName); 

     exporter.exportReport(); 
+0

क्या हमें संस्करण को उच्चतम में अपडेट करने की आवश्यकता है? मैं 'जैस्परपोर्ट्स-3.7.6' – NaaN

+1

@ टेलरबर्ड का उपयोग कर रहा हूं संस्करण 3.7.0 में यह कक्षा शामिल है। * जेआर * का अंतिम संस्करण 5.5.1 –

+0

धन्यवाद @ एलेक्स के। असल में मैंने एक प्रश्न पूछा [पहले] (http://stackoverflow.com/questions/22497343/jrxlsexporter-invalid-row-number-65536-outside -लोवेबल-रेंज) इसके बारे में। मुझे यहां एक जवाब मिला। की कोशिश करेंगे। – NaaN

0

JRXlsExporter JasperReports 4.5 और बाद के संस्करणों में उपलब्ध है।

2
आपको बस इतना करना अनुरोध रास्ते में प्रारूप डाल दिया जाता है, इस तरह की जरूरत है

:

@RequestMapping(value = "/ActivityReport.xlsx", method = RequestMethod.GET) 
public ModelAndView generateActivityReportXLS(HttpServletRequest request, HttpServletResponse response) { 


    List<ActivityDisplay> list = activityManager.listActivities(); 

    Map<String, Object> parameterMap = new HashMap<>(); 
    parameterMap.put("datasource", new JRBeanCollectionDataSource(list)); 
    return new ModelAndView("activitiesXLSView", parameterMap); 
} 
10

इस उत्तर JASPER की रिपोर्ट संस्करण> 5.6 (नवीनतम संस्करण) के साथ उपयोगकर्ताओं को मदद करने के लिए है, इसलिए बहिष्कृत कोड हटा दें।

बाद के संस्करण में> 5.6 JRXlsxExporter.setParameter(..)deprecated रहा है।

आप का उपयोग करना चाहिए

JRMapArrayDataSource dataSource = new JRMapArrayDataSource(data); 

JasperReport jasperReport = JasperCompileManager.compileReport(reportJRXMLSource); 
JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, params, dataSource); 

JRXlsxExporter exporter = new JRXlsxExporter(); 
exporter.setExporterInput(new SimpleExporterInput(jasperPrint)); 
File outputFile = new File("excelTest.xlsx"); 
exporter.setExporterOutput(new SimpleOutputStreamExporterOutput(outputFile)); 
SimpleXlsxReportConfiguration configuration = new SimpleXlsxReportConfiguration(); 
configuration.setDetectCellType(true);//Set configuration as you like it!! 
configuration.setCollapseRowSpan(false); 
exporter.setConfiguration(configuration); 
exporter.exportReport(); 
संबंधित मुद्दे