PHP में Excel के साथ काम करना: PhpSpreadsheet और PhpOffice लाइब्रेरीज़
आधुनिक वेब डेवलपमेंट में अक्सर डेटा को Excel फॉर्मेट में एक्सपोर्ट करने, रिपोर्ट इम्पोर्ट करने या सर्वर साइड पर टेबल प्रोसेस करने की आवश्यकता होती है। PHP .xlsx, .xls और .ods फ़ाइलों के साथ काम करने के लिए कई शक्तिशाली लाइब्रेरीज़ प्रदान करता है। इस लेख में हम विस्तार से PhpSpreadsheet पर चर्चा करेंगे - एक आधुनिक और सक्रिय रूप से विकसित होने वाली लाइब्रेरी जो पुरानी PHPExcel की जगह लेती है।
PhpSpreadsheet क्या है?
PhpSpreadsheet एक लाइब्रेरी है जो विभिन्न फॉर्मेट्स: Excel, OpenDocument, CSV, HTML और PDF में इलेक्ट्रॉनिक स्प्रेडशीट को पढ़ने, लिखने और संपादित करने के लिए है। यह शुद्ध PHP में लिखी गई है, इसमें अतिरिक्त एक्सटेंशन (मानक zip और xml के अलावा) इंस्टॉल करने की आवश्यकता नहीं है, और यह Excel की सभी मुख्य क्षमताओं का समर्थन करती है: स्टाइल, फॉर्मूले, चार्ट, कंडीशनल फॉर्मेटिंग, एकाधिक शीट और बहुत कुछ।
इंस्टॉलेशन
इंस्टॉलेशन Composer के माध्यम से किया जाता है:
composer require phpoffice/phpspreadsheetइंस्टॉलेशन के बाद प्रोजेक्ट में ऑटोलोडिंग के साथ vendor फ़ोल्डर दिखाई देता है। काम शुरू करने के लिए ऑटोलोडर को शामिल करना पर्याप्त है:
require 'vendor/autoload.php';
use PhpOffice\\PhpSpreadsheet\\Spreadsheet;use PhpOffice\\PhpSpreadsheet\\Writer\\Xlsx;एक सरल Excel फ़ाइल बनाना
एक बुनियादी उदाहरण देखें: हेडर और डेटा की कुछ पंक्तियों वाली फ़ाइल बनाएँ।
// एक नया Spreadsheet ऑब्जेक्ट बनाएँ$spreadsheet = new Spreadsheet();$sheet = $spreadsheet->getActiveSheet();
// हेडर सेट करें$sheet->setCellValue('A1', 'नाम') ->setCellValue('B1', 'ईमेल') ->setCellValue('C1', 'पंजीकरण तिथि');
// डेटा भरें$sheet->setCellValue('A2', 'इवान इवानोव') ->setCellValue('B2', 'ivan@example.com') ->setCellValue('C2', '2024-01-15');
$sheet->setCellValue('A3', 'मारिया पेट्रोवा') ->setCellValue('B3', 'maria@example.com') ->setCellValue('C3', '2024-02-20');
// फ़ाइल सेव करें$writer = new Xlsx($spreadsheet);$writer->save('users.xlsx');
echo "फ़ाइल users.xlsx सफलतापूर्वक बनाई गई!";स्क्रिप्ट चलाने के बाद प्रोजेक्ट की रूट में users.xlsx फ़ाइल दिखाई देगी, जिसे Excel या Google Sheets में खोला जा सकता है।
मौजूदा Excel फ़ाइल पढ़ना
PhpSpreadsheet किसी भी फॉर्मेट से डेटा आसानी से पढ़ने की अनुमति देता है। लोड करने और सामग्री प्रदर्शित करने का उदाहरण:
$inputFileName = 'users.xlsx';$spreadsheet = \\PhpOffice\\PhpSpreadsheet\\IOFactory::load($inputFileName);$sheet = $spreadsheet->getActiveSheet();
// सभी पंक्तियाँ पढ़ें$data = $sheet->toArray();
foreach ($data as $row) { echo implode(' | ', $row) . "";}विधि toArray() एक द्वि-आयामी ऐरे लौटाती है, जहाँ पहला तत्व इंडेक्स 0,1,2… वाली पंक्ति है। आप सेल को पते से एक्सेस कर सकते हैं: $sheet->getCell('A2')->getValue()।
स्टाइल और फॉर्मेटिंग के साथ काम करना
PhpSpreadsheet की एक मजबूत विशेषता तालिका के स्वरूप का लचीला प्रबंधन है।
$styleArray = [ 'font' => [ 'bold' => true, 'size' => 12, 'color' => ['argb' => 'FF2E4057'], ], 'fill' => [ 'fillType' => \\PhpOffice\\PhpSpreadsheet\\Style\\Fill::FILL_SOLID, 'startColor' => ['argb' => 'FFD9E2EC'], ], 'borders' => [ 'allBorders' => [ 'borderStyle' => \\PhpOffice\\PhpSpreadsheet\\Style\\Border::BORDER_THIN, ], ],];
// रेंज पर स्टाइल लागू करें$sheet->getStyle('A1:C1')->applyFromArray($styleArray);
// कॉलम की ऑटो-चौड़ाईforeach (range('A','C') as $col) { $sheet->getColumnDimension($col)->setAutoSize(true);}डेटाबेस से Excel में डेटा एक्सपोर्ट करना
अक्सर SQL क्वेरी के परिणामों को डाउनलोड करने की आवश्यकता होती है। PDO के साथ उदाहरण:
पुस्तकालय में भी
C# (.NET) में GraphQL: API बनाने के लिए Hot Chocolate और GraphQL.NET लाइब्रेरीज़
Java WebSocket लाइब्रेरीज़: रियल-टाइम कार्यान्वयन के लिए संपूर्ण गाइड
iOS/macOS पर Swift अनुप्रयोगों की निगरानी: पुस्तकालय और उपकरण
PHP OAuth क्लाइंट: सोशल मीडिया और API प्रमाणीकरण गाइड