माइक्रोसॉफ्ट एक्सेल स्प्रेडशीट्स के लिए ओपन सोर्स जावा एपीआई
जावा अनुप्रयोगों में ओपन सोर्स एपीआई के माध्यम से माइक्रोसॉफ्ट एक्सेल स्प्रेडशीट फाइलें बनाएं, पढ़ें, संपादित करें और कनवर्ट करें।
फास्टएक्सेल क्या है?
सॉफ्टवेयर प्रोग्रामर के लिए बड़ी एक्सेल फाइलों के साथ काम करना हमेशा एक बड़ी चुनौती होती है और इसे प्रबंधित करने के लिए उच्च स्तर के कौशल और संसाधनों की आवश्यकता होती है। FastExcel एक बहुत ही शक्तिशाली ओपन सोर्स जावा एक्सेल लाइब्रेरी है जो सॉफ्टवेयर डेवलपर्स को अपने स्वयं के जावा अनुप्रयोगों के अंदर Microsoft Excel XLSX वर्कबुक बनाने और पढ़ने की अनुमति देता है। यह डेवलपर्स को बिना किसी बाहरी निर्भरता के बड़ी एक्सेल फाइलों के साथ काम करने में मदद करता है।
FastExcel का उपयोग करना बहुत आसान है और केवल आवश्यक तत्वों को जमा करके स्मृति पदचिह्न और उच्च प्रदर्शन को कम करता है। इसमें स्प्रैडशीट्स के साथ काम करने के लिए कई महत्वपूर्ण विशेषताएं शामिल हैं जैसे सरल कार्यपुस्तिकाएं बनाना, शैलियों को लागू करना और कोशिकाओं, स्तंभों और पंक्तियों के लिए स्वरूपण, कोशिकाओं की एक श्रेणी पर शैली सेट करना, कोशिकाओं और पंक्तियों को मर्ज करना, वैकल्पिक पंक्तियों को छाया देना, कागज़ का आकार और पृष्ठ अभिविन्यास सेट करना , पेज मार्जिन सेट करें, फ़्रीज़ पेन बनाएं और इसी तरह की अन्य चीज़ें करें।
FastExcel मल्टीथ्रेडिंग के लिए पूर्ण समर्थन प्रदान करता है जिसका अर्थ है कि कार्यपुस्तिका में प्रत्येक कार्यपत्रक एक अलग थ्रेड द्वारा उत्पन्न किया जा सकता है, जबकि साझा स्ट्रिंग्स और शैलियों का पूर्ण समर्थन करता है। FastExcel रीडर बहुत कुशल है और केवल सेल सामग्री को पढ़ता है और शैलियों, ग्राफ़ और अन्य सामान को छोड़ देता है।
FastExcel के साथ शुरुआत करना
FastExcel लाइब्रेरी के लिए Java 8+ की आवश्यकता है। मावेन के साथ बनाएँ। कृपया अपने पीओएम में निम्नलिखित निर्भरता शामिल करें
FastExcel मावेन निर्भरता
<dependency>
<groupId> org.dhatim</groupId>
<artifactId>fastexcel</artifactId>
<version>0.12.13</version>
</dependency>
आप GitHub रिपॉजिटरी से संकलित साझा लाइब्रेरी को डाउनलोड भी कर सकते हैं और इसे इंस्टॉल कर सकते हैं।
जावा एपीआई के माध्यम से एक्सेल एक्सएलएसएक्स फाइल जेनरेट करें
ओपन सोर्स FastExcel लाइब्रेरी सॉफ्टवेयर डेवलपर्स को जावा कोड की कुछ पंक्तियों के साथ एक्सेल XLSX फ़ाइल बनाने की अनुमति देती है। वर्कशीट के अंदर एक नई वर्कबुक जोड़ना और अलग-अलग वर्कशीट जोड़ना, सेल और रो डालना बहुत आसान है। पुस्तकालय पाठ स्वरूपण और स्टाइलिंग से संबंधित कई विशेषताओं का समर्थन करता है जैसे कि सेल शैली बदलना, कोशिकाओं की एक श्रृंखला पर शैली सेट करना, छाया वैकल्पिक पंक्तियाँ, सेट पेपर आकार और पृष्ठ अभिविन्यास और इसी तरह।
जावा लाइब्रेरी के माध्यम से नया एक्सेल फाई बनाएं
package com.zetcode;
import org.dhatim.fastexcel.Workbook;
import org.dhatim.fastexcel.Worksheet;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.List;
public class FastExcelSimpleWrite {
public static void main(String[] args) throws IOException {
var words = List.of("sky", "blue", "work", "falcon");
int row = 0;
int col = 0;
var f = new File("/home/janbodnar/tmp/words.xlsx");
try (var fos = new FileOutputStream(f)) {
var wb = new Workbook(fos, "Application", "1.0");
Worksheet ws = wb.newWorksheet("Sheet 1");
for (var word : words) {
ws.value(row, col, word);
row++;
}
wb.finish();
}
}
}
जावा एपीआई के माध्यम से एक्सेल एक्सएलएसएक्स फ़ाइल पढ़ें
FastExcel लाइब्रेरी ने एक बहुत शक्तिशाली पाठक प्रदान किया है जो उपयोगकर्ताओं को एक्सेल वर्कबुक को आसानी से खोलने और पढ़ने की अनुमति देता है। यह Apache POI का एक स्ट्रीमिंग विकल्प है, लेकिन Apache POI की तुलना में इसे संभालना बहुत आसान है और इससे 10 गुना तेज है। यह केवल सेल सामग्री पढ़ सकता है और शैलियों, ग्राफ और कई अन्य चीजों को छोड़ देता है। निम्न उदाहरण दिखाता है कि जावा का उपयोग करके एक कार्यपुस्तिका को कैसे खोला जाए और स्ट्रीमिंग तरीके से सभी पंक्तियों को कैसे पढ़ा जाए।
जावा के माध्यम से स्ट्रीमिंग वे में कार्यपुस्तिका पंक्तियाँ खोलें और पढ़ें
try (InputStream is = ...; ReadableWorkbook wb = new ReadableWorkbook(is)) {
Sheet sheet = wb.getFirstSheet();
try (Stream rows = sheet.openStream()) {
rows.forEach(r -> {
BigDecimal num = r.getCellAsNumber(0).orElse(null);
String str = r.getCellAsString(1).orElse(null);
LocalDateTime date = r.getCellAsDate(2).orElse(null);
});
}
}
FastExcel` के माध्यम से मल्टीथ्रेडेड स्प्रेडशीट जेनरेशन
मल्टीथ्रेडिंग एक सेंट्रल प्रोसेसिंग यूनिट (सीपीयू) की ऑपरेटिंग सिस्टम द्वारा समर्थित एक साथ निष्पादन के कई थ्रेड प्रदान करने की क्षमता है। यदि कंप्यूटर में कई प्रोसेसर या प्रोसेसर कोर हैं, तो ऑपरेटिंग सिस्टम प्रोसेसर को थ्रेड्स को सबसे कुशल तरीके से आवंटित करने की जिम्मेदारी लेता है। ओपन सोर्स FastExcel लाइब्रेरी मल्टीथ्रेडेड जेनरेशन को पूरी तरह से सपोर्ट करती है और प्रत्येक वर्कशीट को जावा कोड का उपयोग करके एक अलग थ्रेड बनाती है।
जावा एपीआई के माध्यम से मल्टीथ्रेडिंग वातावरण में स्प्रेडशीट उत्पन्न करें
try (OutputStream os = ...) {
Workbook wb = new Workbook(os, "MyApplication", "1.0");
Worksheet ws1 = wb.newWorksheet("Sheet 1");
Worksheet ws2 = wb.newWorksheet("Sheet 2");
CompletableFuture cf1 = CompletableFuture.runAsync(() -> {
// Fill worksheet 1
...
});
CompletableFuture cf2 = CompletableFuture.runAsync(() -> {
// Fill worksheet 2
...
});
CompletableFuture.allOf(cf1, cf2).get();
wb.finish();
}