JavaScript (Node.js) में Excel के साथ काम करना
आधुनिक वेब डेवलपमेंट में अक्सर स्प्रेडशीट के साथ प्रोग्रामेटिक रूप से इंटरैक्ट करने की आवश्यकता होती है। रिपोर्ट एक्सपोर्ट करना, अकाउंटिंग सिस्टम से डेटा इम्पोर्ट करना, बड़े डेटा सेट को प्रोसेस करना - ये सब Node.js में Excel के साथ काम करने को एक महत्वपूर्ण कार्य बनाते हैं। इस आर्टिकल में हम XLSX फ़ॉर्मेट के लिए तीन सबसे लोकप्रिय लाइब्रेरीज़ देखेंगे: xlsx, exceljs और excel4node। आप सीखेंगे कि इन्हें कैसे इंस्टॉल करें, Excel फ़ाइलें कैसे बनाएं, एडिट करें और पढ़ें।
xlsx (SheetJS) लाइब्रेरी
xlsx Node.js में टेबल के साथ काम करने के लिए सबसे लोकप्रिय और हल्की लाइब्रेरी है। यह न केवल XLSX, बल्कि XLS, CSV, ODS और अन्य फ़ॉर्मेट को भी सपोर्ट करती है। इसका मुख्य लाभ सरल API और तेज़ प्रदर्शन है।
इंस्टॉलेशन:
npm install xlsx
उदाहरण: Excel फ़ाइल बनाना और सेव करना
const XLSX = require('xlsx');
// डेटा के साथ वर्कशीट बनाएं
const data = [
{ नाम: 'अन्ना', उम्र: 28, शहर: 'मुंबई' },
{ नाम: 'राहुल', उम्र: 35, शहर: 'दिल्ली' },
{ नाम: 'प्रिया', उम्र: 22, शहर: 'बेंगलुरु' }
];
const worksheet = XLSX.utils.json_to_sheet(data);
const workbook = XLSX.utils.book_new();
XLSX.utils.book_append_sheet(workbook, worksheet, 'कर्मचारी');
// फ़ाइल सेव करें
XLSX.writeFile(workbook, 'employees.xlsx');
console.log('employees.xlsx फ़ाइल बन गई!');
उदाहरण: मौजूदा फ़ाइल पढ़ना
const workbook = XLSX.readFile('employees.xlsx');
const sheetName = workbook.SheetNames[0];
const worksheet = workbook.Sheets[sheetName];
const jsonData = XLSX.utils.sheet_to_json(worksheet);
console.log('फ़ाइल से डेटा:', jsonData);
फायदे:
- बहुत छोटा साइज़ (कंप्रेस्ड रूप में लगभग 50 KB)
- कई फ़ॉर्मेट सपोर्ट (XLSX, XLS, CSV, ODS)
- JSON ↔ टेबल कन्वर्ज़न के लिए सरल API
नुकसान:
- फ़ॉर्मेटिंग (स्टाइल, फ़ॉन्ट, रंग) की सीमित क्षमताएं
- मर्ज किए गए सेल और जटिल फ़ॉर्मूले में कठिनाई
exceljs लाइब्रेरी
exceljs XLSX फ़ाइलों के साथ काम करने के लिए एक उन्नत लाइब्रेरी है। यह फ़ॉर्मेटिंग पर पूर्ण नियंत्रण देती है: आप फ़ॉन्ट, रंग, बॉर्डर, मर्ज किए गए सेल, कंडीशनल फ़ॉर्मेटिंग और यहां तक कि इमेज भी जोड़ सकते हैं।
इंस्टॉलेशन:
npm install exceljs
उदाहरण: फ़ॉर्मेटेड रिपोर्ट बनाना
const ExcelJS = require('exceljs');
async function createReport() {
const workbook = new ExcelJS.Workbook();
const worksheet = workbook.addWorksheet('रिपोर्ट');
// कॉलम डिफ़ाइन करें
worksheet.columns = [
{ header: 'उत्पाद', key: 'product', width: 20 },
{ header: 'मात्रा', key: 'quantity', width: 15 },
{ header: 'कीमत', key: 'price', width: 15 }
];
// डेटा जोड़ें
worksheet.addRow({ product: 'लैपटॉप', quantity: 10, price: 75000 });
worksheet.addRow({ product: 'माउस', quantity: 50, price: 1500 });
// हेडर फ़ॉर्मेटिंग
const headerRow = worksheet.getRow(1);
headerRow.font = { bold: true, color: { argb: 'FFFFFFFF' } };
headerRow.fill = { type: 'pattern', pattern: 'solid', fgColor: { argb: 'FF4472C4' } };
// कीमत कॉलम फ़ॉर्मेटिंग
const priceColumn = worksheet.getColumn(3);
priceColumn.numFmt = '#,##0.00';
// सेव करें
await workbook.xlsx.writeFile('report.xlsx');
console.log('फ़ॉर्मेटिंग के साथ रिपोर्ट बन गई!');
}
createReport();
उदाहरण: फ़ाइल पढ़ना और मॉडिफ़ाई करना
const workbook = new ExcelJS.Workbook();
await workbook.xlsx.readFile('report.xlsx');
const worksheet = workbook.getWorksheet(1);
// नई पंक्ति जोड़ें
worksheet.addRow({ product: 'कीबोर्ड',