স্প্রেডশীট ডকুমেন্টের জন্য ওপেন সোর্স জাভা লাইব্রেরি
এক্সেল রিপোর্ট জেনারেশনের জন্য ফ্রি জাভা লাইব্রেরি যা আউটপুট ফরম্যাটিং সংজ্ঞায়িত করতে এক্সেল টেমপ্লেটে বিশেষ মার্কআপ ব্যবহার করে।
JXLS কি?
JXLS হল একটি অত্যন্ত শক্তিশালী ওপেন সোর্স জাভা রিপোর্ট জেনারেশন লাইব্রেরি যা সফটওয়্যার ডেভেলপারদের এক্সেল টেমপ্লেট ব্যবহার করে এক্সেল রিপোর্ট তৈরি করতে দেয়। এটি Apache POI নামে পরিচিত বিদ্যমান ওপেন সোর্স প্রকল্পগুলির চারপাশে একটি মোড়ক। লাইব্রেরিটি ব্যবহার করা খুবই সহজ এবং একটি অন্তর্নিহিত জাভা-টু-এক্সেল নিম্ন-স্তরের প্রসেসিং লাইব্রেরি থেকে এক্সেল প্রজন্মকে বিমূর্ত করে।
JXLS লাইব্রেরি আউটপুট বিন্যাস এবং ডেটা বিন্যাস সংজ্ঞায়িত করতে এক্সেল টেমপ্লেটগুলিতে একটি বিশেষ মার্কআপ ব্যবহার করে। আরও অনেক নিম্ন স্তরের জাভা লাইব্রেরি রয়েছে যেগুলির জন্য ডেভেলপারদের একটি ছোট কাজ সম্পাদন করার জন্য প্রচুর জাভা কোড লিখতে হয়। অন্যদিকে JXLS লাইব্রেরির জন্য ব্যবহারকারীদের একটি এক্সেল টেমপ্লেট ফাইলে প্রয়োজনীয় রিপোর্ট ফরম্যাটিং এবং ডেটা লেআউটের রূপরেখা দিতে হবে এবং এর পরে JXLS ইঞ্জিন চালিয়ে ডেটা দিয়ে টেমপ্লেট পূরণ করতে হবে। এটা ডেভেলপারদের কাজ সহজ করে তোলে তাদের একটি কাজ সম্পন্ন করার জন্য জাভা কোডের সামান্য কিছু লেখার অনুমতি দিয়ে।
জেএক্সএলএস লাইব্রেরিতে স্প্রেডশীট রিপোর্টিং সম্পর্কিত বেশ কিছু গুরুত্বপূর্ণ বৈশিষ্ট্যের জন্য সমর্থন অন্তর্ভুক্ত করা হয়েছে, যেমন এক্সএমএল এবং বাইনারি এক্সেল ফর্ম্যাট আউটপুট, নেটিভ এক্সেল সূত্র, প্যারামিটারাইজড সূত্র, গ্রুপিং সমর্থন, মার্জড সেল সমর্থন, রিপোর্ট ডেফিনিশন মার্কআপে এক্সপ্রেশন ভাষা, একাধিক শীট আউটপুট, এলাকা শ্রোতারা এক্সেল জেনারেশন সামঞ্জস্য করতে, কমান্ডের সংজ্ঞার জন্য এক্সেল মন্তব্য মার্ক-আপ, টেবিল সমর্থন এবং আরও অনেক কিছু।
JXLS দিয়ে শুরু করা
আপনার প্রোজেক্টে JXLS লাইব্রেরি যোগ করার সুপারিশ করার উপায় হল Maven ব্যবহার করা এবং আপনার প্রোজেক্ট বিল্ড কনফিগারেশন ফাইলে প্রয়োজনীয় লাইব্রেরিগুলি নির্দিষ্ট করা।
JXLS মাভেন নির্ভরতা
<dependency>
<groupId>org.jxls</groupId>
<artifactId>jxls</artifactId>
<version>2.10.0</version>
</dependency>
এছাড়াও আপনি GitHub সংগ্রহস্থল থেকে কম্পাইল করা শেয়ার্ড লাইব্রেরি ডাউনলোড করতে পারেন এবং এটি ইনস্টল করতে পারেন৷
ওপেন সোর্স JXLS লাইব্রেরি সফ্টওয়্যার বিকাশকারীদের জাভা কোড ব্যবহার করে অত্যন্ত উপস্থাপনযোগ্য এবং দরকারী তথ্য সহ দ্রুত প্রতিবেদন তৈরি করতে সক্ষম করে। বেশিরভাগ লাইব্রেরি এটি ম্যানুয়ালি করে এবং এই ধরনের রিপোর্ট তৈরি করতে প্রচুর কোডের প্রয়োজন হয়। 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;
জাভা অ্যাপের ভিতরে একাধিক শীট সমর্থন
ওপেন সোর্স JXLS-Java লাইব্রেরি সফটওয়্যার ডেভেলপারদের জাভা কমান্ড ব্যবহার করে রানটাইমে একাধিক শীট তৈরি করতে সক্ষম করে। একবার তৈরি হয়ে গেলে আপনাকে শীটটিতে একটি অনন্য নাম উল্লেখ করতে হবে এবং যদি পর্যাপ্ত শীটের নাম না থাকে বা একটি শীটের নাম বৈধ না হয় বা অনন্য না হয় তবে একটি ERROR বার্তা লগে প্রিন্ট করা হবে এবং শীট তৈরি হবে না। আপনি আইটেম বৈশিষ্ট্য ব্যবহার করতে পারেন যা রানটাইমে কতগুলি শীট তৈরি করা হয় তা নির্ধারণ করে।
জাভা লাইব্রেরির মাধ্যমে রিপোর্টে এক্সেল সূত্র ব্যবহার করুন
ওপেন সোর্স JXLS লাইব্রেরি সফটওয়্যার ডেভেলপারদের একটি এক্সেল টেমপ্লেট ব্যবহার করে কাস্টমাইজড রিপোর্ট তৈরি করতে দেয়। লাইব্রেরি স্ট্যান্ডার্ড এক্সেল সূত্রের পাশাপাশি রিপোর্টের ভিতরে একটি বিশেষ সিনট্যাক্স সহ সংজ্ঞায়িত প্যারামিটারাইজড সূত্রগুলি ব্যবহার করার জন্য সম্পূর্ণ সমর্থন প্রদান করে। দুর্দান্ত জিনিসটি হল যে ফর্মুলাগুলি টেমপ্লেট প্রক্রিয়া করার সময় ডিফল্টরূপে প্রক্রিয়া করা হবে এবং কোনও অতিরিক্ত কোডের প্রয়োজন নেই। যদি আরও জটিল সূত্র ব্যবহার করতে চান যা Apache POI পরিচালনা করতে পারে না, তাহলে ডেভেলপারদের ওয়ার্কবুকে একটি ইঙ্গিত সংরক্ষণ করতে হবে যা এক্সেলকে পুনরায় খোলার সমস্ত সূত্র পুনঃগণনা করতে গাইড করে।