जावा में एक्सेल के साथ कार्य: लाइब्रेरीज़ का अवलोकन और कोड उदाहरण
जावा कॉर्पोरेट विकास के लिए सबसे लोकप्रिय भाषाओं में से एक है, जहाँ अक्सर Microsoft Excel स्प्रेडशीट (प्रारूप .xls और .xlsx) के साथ इंटरैक्ट करने की आवश्यकता होती है। चाहे वह रिपोर्ट निर्यात करना हो, CRM से डेटा आयात करना हो, या लेखा रिपोर्टिंग को स्वचालित करना हो - एक्सेल के साथ कार्य करने के लिए एक विश्वसनीय उपकरण के बिना काम नहीं चल सकता। इस लेख में, हम जावा के लिए मुख्य लाइब्रेरीज़, उनकी क्षमताओं, लाभों और कमियों पर विचार करेंगे, साथ ही व्यावहारिक कोड उदाहरण भी प्रस्तुत करेंगे।
जावा में एक्सेल के साथ कार्य करने के लिए लोकप्रिय लाइब्रेरीज़
आजकल, कई परिपक्व समाधान मौजूद हैं। किसी विशिष्ट लाइब्रेरी का चुनाव एक्सेल संस्करण, डेटा की मात्रा और आवश्यक कार्यक्षमता पर निर्भर करता है।
- Apache POI — वास्तविक मानक। दोनों प्रारूपों (
.xlsऔर.xlsx) का समर्थन करता है, सेल को पढ़ने, लिखने, फ़ॉर्मेट करने, फ़ॉर्मूले, चार्ट और मैक्रोज़ के साथ काम करने की अनुमति देता है। भारी, लेकिन सबसे शक्तिशाली लाइब्रेरी। - JExcelApi (jxl) — एक हल्का विकल्प, लेकिन केवल पुराने प्रारूप
.xlsका समर्थन करता है। सरल कार्यों के लिए उपयुक्त जहाँ.xlsxसमर्थन की आवश्यकता नहीं है। - EasyExcel (Alibaba) — POI पर आधारित एक हल्का संस्करण, बड़ी फ़ाइलों और स्ट्रीम प्रोसेसिंग के लिए अनुकूलित। लाखों पंक्तियों के आयात/निर्यात के लिए उत्कृष्ट।
- OpenCSV — सीधे एक्सेल के लिए नहीं, बल्कि CSV (जिसे एक्सेल खोलता है) के साथ काम करने के लिए। बिना फ़ॉर्मेटिंग के सरल तालिका डेटा आदान-प्रदान के लिए आदर्श।
उदाहरण 1: Apache POI का उपयोग करके Excel फ़ाइल पढ़ना
एक बुनियादी परिदृश्य पर विचार करें: फ़ाइल data.xlsx खोलें और पहले पृष्ठ की सामग्री को कंसोल पर प्रदर्शित करें।
import org.apache.poi.ss.usermodel.*;import org.apache.poi.xssf.usermodel.XSSFWorkbook;import java.io.FileInputStream;import java.io.IOException;
public class ReadExcelExample { public static void main(String[] args) { String filePath = "data.xlsx";
try (FileInputStream fis = new FileInputStream(filePath); Workbook workbook = new XSSFWorkbook(fis)) {
Sheet sheet = workbook.getSheetAt(0); // पहला पृष्ठ
for (Row row : sheet) { for (Cell cell : row) { switch (cell.getCellType()) { case STRING: System.out.print(cell.getStringCellValue() + "\\t"); break; case NUMERIC: System.out.print(cell.getNumericCellValue() + "\\t"); break; case BOOLEAN: System.out.print(cell.getBooleanCellValue() + "\\t"); break; default: System.out.print("?\\t"); } } System.out.println(); } } catch (IOException e) { e.printStackTrace(); } }}उदाहरण 2: फ़ॉर्मेटिंग के साथ Excel में डेटा लिखना
हम शीर्षकों और डेटा के साथ एक नई फ़ाइल report.xlsx बनाएंगे, शीर्षकों को बोल्ड फ़ॉन्ट में हाइलाइट करेंगे।
import org.apache.poi.ss.usermodel.*;import org.apache.poi.xssf.usermodel.XSSFWorkbook;import java.io.FileOutputStream;import java.io.IOException;
public class WriteExcelExample { public static void main(String[] args) { try (Workbook workbook = new XSSFWorkbook()) { Sheet sheet = workbook.createSheet("रिपोर्ट");
// शीर्षकों के लिए शैली CellStyle headerStyle = workbook.createCellStyle(); Font headerFont = workbook.createFont(); headerFont.setBold(true); headerFont.setFontHeight