PhpSpreadsheet क्या है और इसकी आवश्यकता क्यों है?
PhpSpreadsheet एक शक्तिशाली PHP लाइब्रेरी है जो स्प्रेडशीट के साथ काम करने के लिए है। यह CSV, XLS, XLSX, ODS और अन्य फ़ॉर्मेट की फ़ाइलों को पढ़ने, लिखने और संपादित करने की अनुमति देती है। PHP के बिल्ट-इन फ़ंक्शन (जैसे fgetcsv) के विपरीत, PhpSpreadsheet ऑब्जेक्ट-ओरिएंटेड दृष्टिकोण, एन्कोडिंग की स्वचालित प्रोसेसिंग, स्टाइल, फ़ॉर्मूले और बड़े डेटा वॉल्यूम के लिए सपोर्ट प्रदान करती है। यह लाइब्रेरी वेब-फ़ॉर्म से डेटा इम्पोर्ट/एक्सपोर्ट, रिपोर्ट जनरेशन, डेटाबेस के बीच माइग्रेशन और Excel/Google Sheets के साथ इंटीग्रेशन के लिए आदर्श है।
इंस्टॉलेशन
इंस्टॉलेशन Composer के माध्यम से किया जाता है:
composer require phpoffice/phpspreadsheetइंस्टॉलेशन के बाद ऑटोलोड को शामिल करें:
require 'vendor/autoload.php';मुख्य कार्यक्षमताएँ
- CSV पढ़ना — स्वचालित डिलीमीटर पहचान के साथ फ़ाइल को Spreadsheet ऑब्जेक्ट में लोड करना।
- CSV लिखना — डिलीमीटर, कोटेशन और BOM सेटिंग के साथ फ़ाइल बनाना और सेव करना।
- शीट के साथ काम करना — शीट बनाना, हटाना, नाम बदलना और कॉपी करना।
- फ़ॉर्मेटिंग — सेल स्टाइल (फ़ॉन्ट, रंग, बॉर्डर, अलाइनमेंट)।
- फ़ॉर्मूले और फ़ंक्शन — SUM, AVERAGE, IF और अन्य का सपोर्ट।
- बड़े डेटा की प्रोसेसिंग — मेमोरी खपत कम करने के लिए Xlsx Writer के माध्यम से स्ट्रीमिंग राइटिंग।
कोड उदाहरण: CSV पढ़ना और लिखना
CSV फ़ाइल पढ़ना और डेटा प्रदर्शित करना:
use PhpOffice\\PhpSpreadsheet\\IOFactory;
$inputFileName = './data.csv';$spreadsheet = IOFactory::load($inputFileName);$worksheet = $spreadsheet->getActiveSheet();$data = $worksheet->toArray();
foreach ($data as $row) { echo implode(', ', $row) . "";}CSV में डेटा लिखना:
use PhpOffice\\PhpSpreadsheet\\Spreadsheet;use PhpOffice\\PhpSpreadsheet\\Writer\\Csv;
$spreadsheet = new Spreadsheet();$sheet = $spreadsheet->getActiveSheet();
$sheet->setCellValue('A1', 'नाम');$sheet->setCellValue('B1', 'ईमेल');$sheet->setCellValue('A2', 'इवान');$sheet->setCellValue('B2', 'ivan@example.com');
$writer = new Csv($spreadsheet);$writer->setDelimiter(';');$writer->setEnclosure('"');$writer->save('./output.csv');कब उपयोग करें
PhpSpreadsheet निम्नलिखित मामलों में अनुशंसित है:
- एक ही प्रोजेक्ट में कई फ़ॉर्मेट (CSV, XLSX, ODS) के लिए सपोर्ट आवश्यक हो।
- सटीक फ़ॉर्मेटिंग (रंग, फ़ॉन्ट, सेल मर्ज) की आवश्यकता हो।
- फ़ॉर्मूले या बड़े डेटासेट (10,000 से अधिक पंक्तियाँ) के साथ काम करना हो।
- आप OOP शैली पसंद करते हैं और लो-लेवल पार्सर नहीं लिखना चाहते।
सरल कार्यों (जैसे, ज्ञात संरचना वाली एक CSV पढ़ना) के लिए PHP के बिल्ट-इन फ़ंक्शन का उपयोग किया जा सकता है। लेकिन अगर प्रोजेक्ट बढ़ता है और लचीलापन चाहिए — तो PhpSpreadsheet एक अपरिहार्य उपकरण बन जाएगा।
```