मेरी जावा प्रोजेक्ट में मेरे पास जटिल SQL क्वेरी के साथ बहुत सारे जैस्पर रिपोर्ट्स रिपोर्ट हैं, जिनमें बहुत से पैरामीटर हैं। रिपोर्ट का उपयोग पीडीएफ दस्तावेजों के उत्पादन के लिए किया जाता है जिसमें क्वेरी द्वारा लौटाए गए डेटा, समूहबद्ध और विभिन्न तरीकों से स्वरूपित किया जाता है।निर्यात जैस्पर रीपॉर्ट्स क्वेरी परिणाम
अब मुझे सीधे क्वेरी परिणाम निर्यात करने की आवश्यकता है (उदाहरण के लिए एक परिणामसेट, या एक मानचित्र या एक सीएसवी फ़ाइल, या इसी तरह ...)। क्या JasperReports को केवल क्वेरी निष्पादित करने और पीडीएफ पृष्ठ को प्रस्तुत करने के बजाय परिणाम लौटने के लिए पूछना संभव है?
(नोट: यह रिपोर्ट प्रतिपादन में एक सीएसवी आउटपुट प्रारूप चुनने जैसा नहीं है, क्योंकि यह विधि रिपोर्ट डिज़ाइन को एक csv फ़ाइल में कनवर्ट करने का प्रयास करती है ... इसके बजाय, मैं केवल "पुन: उपयोग" करना चाहता हूं एक रिपोर्ट के अंदर क्वेरी, जे आर का लाभ भी ले जा पैरामीटर प्रबंधन, आदि ...)
यह मेरा जावा एक रिपोर्ट से एक पीडीएफ दस्तावेज़ निर्माण करने के लिए कोड है:
JasperReport report = (JasperReport) JRLoader.loadObject(inStream);
JasperPrint jasperprint = JasperFillManager.fillReport(report, params, conn);
JRAbstractExporter exporter = new JRPdfExporter();
exporter.exportReport();
ByteArrayOutputStream os = (ByteArrayOutputStream) exporter.getParameter(JRExporterParameter.OUTPUT_STREAM);
byte[] formattedReportBytes = os.toByteArray();
return formattedReportBytes;
मैंने देखा कि वहाँ एक वर्ग JRJdbcQueryExecuter
कहा जाता है JasperReports के अंदर ... पर कॉल करने के बजाय इसे सीधे कॉल करना संभव है 0, निष्पादित SQL क्वेरी के परिणामसेट प्राप्त करने के लिए?
धन्यवाद
आप इस कार्य को हल करने के लिए JasperReports API का उपयोग क्यों करना चाहते हैं? –
जैसा कि मैंने पहले कहा था, मेरे पास बहुत सी रिपोर्टें हैं जिनमें लंबे एसक्यूएल प्रश्न (कई पैरामीटर के साथ) शामिल हैं और जटिल पीडीएफ प्रस्तुतिकरण, डेटा एकत्र करने, आदि का उत्पादन करते हैं .. अब मुझे किसी भी प्रोसेसिंग के बिना डेटाबेस क्वेरी परिणाम निकालना होगा, समूह, या किसी भी तरह का प्रतिपादन। ऐसा लगता है कि मैं मैन्युअल रूप से एक रिपोर्ट से क्वेरी की प्रतिलिपि बनाता हूं, मैं वास्तविक मूल्यों के साथ सभी $ पी {} को प्रतिस्थापित करता हूं, मैं इसे SQL क्लाइंट के अंदर पेस्ट करता हूं, इसे निष्पादित करता हूं और इसे एक सीएसवी फ़ाइल के रूप में निकाला जाता हूं। मैं कोड द्वारा ऐसा करने का एक स्वचालित तरीका ढूंढ रहा हूं, जेआर पैरामीटर प्रबंधन का लाभ उठा रहा हूं और निष्पादन के लिए तैयार क्वेरी प्राप्त कर रहा हूं ... –
और इस काम का उद्देश्य क्या है? रिटर्न रिसेटसेट के साथ आप क्या करेंगे? बस दिलचस्प ... –