TypeScript में Excel के साथ काम करना: टूल्स की पूरी जानकारी
TypeScript, JavaScript का एक स्टैटिकली टाइप किया गया वर्जन है, जो एंटरप्राइज़ एप्लिकेशन बनाने के लिए शानदार सुविधाएँ देता है। एक आम काम है Microsoft Excel फ़ाइलों को पढ़ना, बनाना और एडिट करना। इस आर्टिकल में हम TypeScript में Excel के साथ काम करने के लिए बेस्ट लाइब्रेरी, उनकी खासियतें और प्रैक्टिकल कोड उदाहरण देखेंगे।
Excel के लिए लोकप्रिय लाइब्रेरी
आजकल कई पक्के समाधान मौजूद हैं। ये हैं मुख्य लाइब्रेरी:
- ExcelJS — सबसे पावरफुल लाइब्रेरी, जो स्टाइल, फ़ॉर्मूले, चार्ट और स्ट्रीमिंग प्रोसेसिंग को सपोर्ट करती है।
- xlsx (SheetJS) — हल्की और तेज़ लाइब्रेरी, सरल रीड/राइट ऑपरेशन के लिए बेस्ट।
- node-excel-export — पुरानी लाइब्रेरी, लेकिन अभी भी लीगेसी प्रोजेक्ट्स में इस्तेमाल होती है।
- Excel4Node — फ़ॉर्मेटिंग के साथ जटिल रिपोर्ट बनाने में माहिर।
TypeScript पर आधुनिक प्रोजेक्ट्स के लिए हम ExcelJS और xlsx (SheetJS) की सलाह देते हैं। आइए इन्हें विस्तार से समझते हैं।
इंस्टॉलेशन और सेटअप
दोनों लाइब्रेरी npm के ज़रिए इंस्टॉल होती हैं:
npm install exceljs
npm install xlsx
TypeScript के लिए टाइप्स इंस्टॉल करें (अगर साथ में नहीं आते):
npm install --save-dev @types/node
ध्यान दें: ExcelJS में बिल्ट-इन टाइप्स होते हैं, जबकि xlsx के लिए टाइप्स अलग से इंस्टॉल करने होते हैं:
npm install --save-dev @types/xlsx
उदाहरण 1: ExcelJS से Excel फ़ाइल बनाना
चलिए डेटा और स्टाइल के साथ एक सिंपल टेबल बनाते हैं:
import ExcelJS from 'exceljs';
async function createWorkbook() {
const workbook = new ExcelJS.Workbook();
const sheet = workbook.addWorksheet('रिपोर्ट');
// कॉलम डिफ़ाइन करें
sheet.columns = [
{ header: 'आईडी', key: 'id', width: 10 },
{ header: 'नाम', key: 'name', width: 25 },
{ header: 'तारीख', key: 'date', width: 15 },
{ header: 'राशि', key: 'amount', width: 12 }
];
// रो जोड़ें
sheet.addRow({ id: 1, name: 'राहुल शर्मा', date: '2024-01-15', amount: 1500.50 });
sheet.addRow({ id: 2, name: 'प्रिया वर्मा', date: '2024-02-20', amount: 2300.75 });
sheet.addRow({ id: 3, name: 'अमित गुप्ता', date: '2024-03-10', amount: 890.25 });
// हेडर को स्टाइल करें
const headerRow = sheet.getRow(1);
headerRow.font = { bold: true, size: 12, color: { argb: 'FFFFFFFF' } };
headerRow.fill = { type: 'pattern', pattern: 'solid', fgColor: { argb: 'FF4472C4' } };
headerRow.alignment = { horizontal: 'center' };
// फ़ाइल सेव करें
await workbook.xlsx.writeFile('output.xlsx');
console.log('फ़ाइल बन गई!');
}
createWorkbook();
यह कोड output.xlsx नाम की फ़ाइल बनाता है जिसमें तीन डेटा रो और एक आकर्षक हेडर होता है।
उदाहरण 2: xlsx (SheetJS) से Excel फ़ाइल पढ़ना
एक मौजूदा फ़ाइल पढ़कर कंसोल में डेटा दिखाते हैं:
import * as XLSX from 'xlsx';
function readExcel(filePath: string) {
const workbook = XLSX.readFile(filePath);
const sheetName = workbook.SheetNames[0]; // पहली शीट लें
const worksheet = workbook.Sheets[sheetName];
// JSON में बदलें
const data: any[] = XLSX.utils.sheet_to_json(worksheet);
console.log('फ़ाइल से डेटा:');
data.forEach((row, index) => {
console.log(`पंक्ति ${index + 1}:`, row);
});
return data;
}
// उपयोग
const data = readExcel('input.xlsx');
xlsx लाइब्रेरी अपने आप टेबल को ऑब्जेक्ट्स की ऐरे में बदल देती है, जहाँ कीज़ कॉलम हेडर होते हैं।
उदाहरण 3: ExcelJS में फ़ॉर्मेटिंग और फ़ॉर्मूले
ExcelJS आपको फ़ॉर्मेटिंग और फ़ॉर्मूले जोड़ने की सुविधा देता है।
पुस्तकालय में भी
गो (Golang) में क्रिप्टोग्राफी: एन्क्रिप्शन और हैशिंग
TypeScript में कार्य शेड्यूलर: node-schedule लाइब्रेरी के लिए विस्तृत गाइड
Kotlin एप्लिकेशन कॉन्फ़िगरेशन: सेटिंग्स प्रबंधन के लिए लाइब्रेरी और टूल
C++ में QR कोड जनरेटर: QR-Code-generator लाइब्रेरी