स्प्रेडशीट दस्तावेज़ों के लिए ओपन सोर्स जावा लाइब्रेरी
एक्सेल रिपोर्ट जनरेशन के लिए मुफ्त जावा लाइब्रेरी जो आउटपुट स्वरूपण को परिभाषित करने के लिए एक्सेल टेम्प्लेट में विशेष मार्कअप का उपयोग करती है।
जेएक्सएलएस क्या है?
JXLS एक बहुत ही शक्तिशाली ओपन सोर्स जावा रिपोर्ट जेनरेशन लाइब्रेरी है जो सॉफ्टवेयर डेवलपर्स को एक्सेल टेम्प्लेट का उपयोग करके एक्सेल रिपोर्ट बनाने की अनुमति देता है। यह अपाचे पीओआई के नाम से जानी जाने वाली मौजूदा ओपन सोर्स परियोजनाओं के लिए एक आवरण है। लाइब्रेरी का उपयोग करना बहुत आसान है और अंतर्निहित जावा-टू-एक्सेल निम्न-स्तरीय प्रसंस्करण लाइब्रेरी से एक्सेल पीढ़ी को सार करता है।
JXLS लाइब्रेरी आउटपुट स्वरूपण और डेटा लेआउट को परिभाषित करने के लिए एक्सेल टेम्प्लेट में एक विशेष मार्कअप का उपयोग करती है। कई अन्य निम्न स्तरीय जावा पुस्तकालय हैं जिनके लिए एक छोटे से कार्य को पूरा करने के लिए डेवलपर्स को बहुत सारे जावा कोड लिखने की आवश्यकता होती है। दूसरी ओर JXLS पुस्तकालय के लिए उपयोगकर्ताओं को एक्सेल टेम्प्लेट फ़ाइल में आवश्यक रिपोर्ट स्वरूपण और डेटा लेआउट की रूपरेखा तैयार करने की आवश्यकता होती है और उसके बाद JXLS इंजन चलाकर डेटा के साथ टेम्पलेट को भरने की आवश्यकता होती है। यह किसी कार्य को पूरा करने के लिए डेवलपर को केवल थोड़ा सा जावा कोड लिखने की अनुमति देकर काम को आसान बनाता है।
JXLS लाइब्रेरी में स्प्रेडशीट रिपोर्टिंग से संबंधित कई महत्वपूर्ण विशेषताओं के लिए समर्थन शामिल है, जैसे कि XML और बाइनरी एक्सेल फॉर्मेट आउटपुट, नेटिव एक्सेल फॉर्मूला, पैरामीटराइज्ड फॉर्मूला, ग्रुपिंग सपोर्ट, मर्ज किए गए सेल सपोर्ट, रिपोर्ट डेफिनिशन मार्कअप में एक्सप्रेशन लैंग्वेज, मल्टीपल शीट आउटपुट, एरिया श्रोता एक्सेल पीढ़ी को समायोजित करने के लिए, कमांड परिभाषा के लिए एक्सेल टिप्पणी मार्क-अप, टेबल समर्थन और इसी तरह।
जेएक्सएलएस के साथ शुरुआत करना
अपने प्रोजेक्ट में JXLS पुस्तकालयों को जोड़ने का अनुशंसित तरीका मेवेन का उपयोग करना है और अपनी प्रोजेक्ट बिल्ड कॉन्फ़िगरेशन फ़ाइल में आवश्यक लाइब्रेरी निर्दिष्ट करना है।
जेएक्सएलएस मेवेन निर्भरता
<dependency>
<groupId>org.jxls</groupId>
<artifactId>jxls</artifactId>
<version>2.10.0</version>
</dependency>
आप GitHub रिपॉजिटरी से संकलित साझा लाइब्रेरी डाउनलोड भी कर सकते हैं और इसे इंस्टॉल कर सकते हैं।
ओपन सोर्स जेएक्सएलएस लाइब्रेरी सॉफ्टवेयर डेवलपर्स को जावा कोड का उपयोग करके अत्यधिक प्रस्तुत करने योग्य और उपयोगी जानकारी के साथ जल्दी से रिपोर्ट तैयार करने में सक्षम बनाती है। अधिकांश पुस्तकालय इसे मैन्युअल रूप से करते हैं और ऐसी रिपोर्ट बनाने के लिए बहुत सारे कोड की आवश्यकता होती है। JXLS के साथ एक्सेल टेम्प्लेट का उपयोग करके इस संपूर्ण स्वरूपण को प्राप्त करना बहुत आसान है। रिपोर्ट बनाने के अलावा, एक्सेल का उपयोग करके बल्क डेटा अपलोड करने में भी पुस्तकालय बहुत उपयोगी है।
जावा एपीआई के माध्यम से एक्सेल रिपोर्ट जेनरेट करें
Path dirpath = Paths.get(exportDirectory);
String filename = dirpath.resolve(UUID.randomUUID().toString() + ".xls").toString();
try (InputStream is = StudentService.class.getClassLoader().getResourceAsStream("student.xls"))
{
try (OutputStream os = new FileOutputStream(filename))
{
Context context = new Context();
context.putVar("students", students);
JxlsHelper.getInstance().processTemplate(is, os, context);
}
}
return filename;
Java Apps के अंदर मल्टीपल शीट सपोर्ट
ओपन सोर्स जेएक्सएलएस-जावा लाइब्रेरी सॉफ्टवेयर डेवलपर्स को जावा कमांड का उपयोग करके रनटाइम पर कई शीट बनाने में सक्षम बनाती है। एक बार बनने के बाद आपको शीट के लिए एक अद्वितीय नाम निर्दिष्ट करने की आवश्यकता होती है और यदि पर्याप्त शीट नाम नहीं हैं या शीट का नाम मान्य नहीं है या अद्वितीय नहीं है तो लॉग में एक त्रुटि संदेश मुद्रित किया जाएगा और शीट उत्पन्न नहीं होगी। आप आइटम प्रॉपर्टी का उपयोग कर सकते हैं जो परिभाषित करती है कि रनटाइम पर कितनी शीट बनाई जाती हैं।
जावा लाइब्रेरी के माध्यम से रिपोर्ट में एक्सेल फ़ार्मुलों का उपयोग करें
ओपन सोर्स जेएक्सएलएस लाइब्रेरी सॉफ्टवेयर डेवलपर्स को एक्सेल टेम्पलेट का उपयोग करके अनुकूलित रिपोर्ट तैयार करने की अनुमति देती है। लाइब्रेरी मानक एक्सेल फ़ार्मुलों के साथ-साथ रिपोर्ट के अंदर एक विशेष सिंटैक्स के साथ परिभाषित पैरामीटरयुक्त फ़ार्मुलों का उपयोग करने के लिए पूर्ण समर्थन प्रदान करती है। बड़ी बात यह है कि टेम्प्लेट को संसाधित करते समय सूत्र डिफ़ॉल्ट रूप से संसाधित किए जाएंगे और किसी अतिरिक्त कोड की आवश्यकता नहीं होगी। यदि अधिक जटिल फ़ार्मुलों का उपयोग करना चाहते हैं जो Apache POI को संभाल नहीं सकता है, तो डेवलपर्स को कार्यपुस्तिका में एक संकेत सहेजने की आवश्यकता होती है जो एक्सेल को फिर से खोलने पर सभी फ़ार्मुलों की पुनर्गणना करने के लिए मार्गदर्शन करता है।