जावा में Excel के साथ काम: Apache POI और विकल्प

शुरुआती लोगों के लिए ऑनलाइन Python प्रशिक्षक

Python आसानी से सीखें बिना सिद्धांत के बोझ के। स्वचालित जांच के साथ व्यावहारिक कार्य हल करें और ब्राउज़र में सीधे कोड लिखें।

पाठ्यक्रम शुरू करें

जावा में Excel के साथ काम: लाइब्रेरीज़ और कोड उदाहरण

PythonLib मुख्य रूप से Python पर केंद्रित है, लेकिन जावा अभी भी कॉर्पोरेट डेवलपमेंट में सबसे लोकप्रिय भाषाओं में से एक है, जहाँ Excel स्प्रेडशीट के साथ काम करना एक रोज़मर्रा का काम है। इस लेख में, हम जावा में Excel के साथ काम करने के लिए मुख्य लाइब्रेरीज़, उनकी क्षमताओं और व्यावहारिक कोड उदाहरणों पर चर्चा करेंगे।

जावा में Excel लाइब्रेरीज़ की आवश्यकता क्यों?

जावा में Excel फ़ाइलों को पढ़ने और लिखने के लिए कोई अंतर्निहित सुविधा नहीं है। इसके लिए थर्ड-पार्टी लाइब्रेरीज़ का उपयोग किया जाता है, जो निम्नलिखित कार्य करने में सक्षम बनाती हैं:

  • नई Excel वर्कबुक बनाना (XLS और XLSX फ़ॉर्मेट में)।
  • मौजूदा फ़ाइलों को पढ़ना और संपादित करना।
  • सेल को फ़ॉर्मेट करना, उन्हें मर्ज करना और स्टाइल सेट करना।
  • फ़ॉर्मूले, चार्ट और मैक्रोज़ के साथ काम करना।
  • डेटाबेस या अन्य स्रोतों से डेटा एक्सपोर्ट करना।

मुख्य लाइब्रेरीज़

1. Apache POI

Apache POI जावा में Microsoft Office फ़ाइलों के साथ काम करने के लिए सबसे लोकप्रिय और शक्तिशाली लाइब्रेरी है। यह पुराने XLS फ़ॉर्मेट (HSSF) और नए XLSX फ़ॉर्मेट (XSSF) दोनों को सपोर्ट करती है।

फ़ायदे:

  • Excel की सभी सुविधाओं का पूरा समर्थन: फ़ॉर्मूले, स्टाइल, कंडीशनल फ़ॉर्मेटिंग, चार्ट।
  • सक्रिय समुदाय और नियमित अपडेट।
  • पढ़ने और लिखने दोनों का समर्थन।

कमियाँ:

  • बड़ी फ़ाइलों के साथ काम करते समय अधिक मेमोरी खपत।
  • शुरुआती लोगों के लिए जटिल API।

2. EasyExcel (Alibaba)

EasyExcel Alibaba द्वारा बनाई गई एक हल्की लाइब्रेरी है, जो बड़ी XLSX फ़ाइलों के साथ काम करने के लिए डिज़ाइन की गई है। यह स्ट्रीमिंग प्रोसेसिंग का उपयोग करती है, जिससे मेमोरी खपत काफी कम हो जाती है।

फ़ायदे:

  • न्यूनतम मेमोरी खपत (POI से 100 गुना तक कम)।
  • सरल और सहज API।
  • डेटा मैपिंग के लिए एनोटेशन का समर्थन।

कमियाँ:

  • पुराने XLS फ़ॉर्मेट का समर्थन नहीं करती।
  • सीमित फ़ॉर्मेटिंग सुविधाएँ।

3. JExcelApi (jxl)

एक पुरानी लाइब्रेरी जो केवल XLS फ़ॉर्मेट को सपोर्ट करती है। सरल कार्यों के लिए उपयुक्त है, लेकिन लंबे समय से अपडेट नहीं हुई है और XLSX के साथ काम नहीं करती।

कोड उदाहरण

उदाहरण 1: Apache POI के साथ Excel फ़ाइल पढ़ना

import org.apache.poi.ss.usermodel.*;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import java.io.FileInputStream;
import java.io.IOException;

public class ReadExcel {
    public static void main(String[] args) {
        try (FileInputStream fis = new FileInputStream("data.xlsx");
             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;
                    }
                }
                System.out.println();
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

उदाहरण 2: Apache POI के साथ Excel में डेटा लिखना

import org.apache.poi.ss.usermodel.*;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import java.io.FileOutputStream;
import java.io.IOException;

public class WriteExcel {
    public static void main(String[] args) {
        try (Workbook workbook = new XSSFWorkbook();
             FileOutputStream fos = new FileOutputStream("output.xlsx")) {                    

अनुशंसाएँ