Excel ফাইলে ডেটা লিখতে ওপেন সোর্স Node.js লাইব্রেরি

একটি নিবেদিত ওপেন সোর্স Node.js Excel XLSX লাইব্রেরি যা .xlsx (Excel) ফাইল তৈরি করার জন্য একটি সহজ API প্রদান করে এবং স্ট্রিমিং পদ্ধতিতে Excel ফাইলে ডেটা লেখে।

Node-XLSX-Writer কী?

Node.js উন্নয়নের জগতে রিপোর্ট তৈরি করা এবং ডেটা এক্সপোর্ট করা সাধারণ প্রয়োজনীয়তা। যদিও exceljs এর মতো শক্তিশালী লাইব্রেরি রয়েছে, কখনো কখনো আপনাকে এমন একটি সমাধান প্রয়োজন যা শুধুমাত্র একটি কাজের উপর কেন্দ্রীভূত; দ্রুত এবং কার্যকরভাবে XLSX ফাইল লেখা, বিদ্যমান ফাইল পড়া বা পরিবর্তন করার অতিরিক্ত কাজ ছাড়াই। এখানে আসে Node-XLSX-Writer, একটি হালকা এবং সরল লাইব্রেরি যা ঠিক এই উদ্দেশ্যে ডিজাইন করা হয়েছে। লাইব্রেরিটি তার সরলতা এবং কেন্দ্রীভূত কার্যকারিতার জন্য আলাদা হয়ে দাঁড়ায়। ব্যাপক Excel লাইব্রেরিগুলোর মতো যেগুলি পড়া, লেখা এবং পরিবর্তন সবই করে, এই মডিউল সম্পূর্ণভাবে XLSX ফাইল লেখার উপর মনোযোগ দেয়, ফলে এটি হালকা, শিখতে সহজ, দ্রুত বাস্তবায়নযোগ্য এবং নির্ভরযোগ্য।

Node-XLSX-Writer একটি হালকা এবং সরল লাইব্রেরি, যা বিশেষভাবে Node.js অ্যাপ্লিকেশনে XLSX (Excel) ফাইল তৈরি করার জন্য ডিজাইন করা হয়েছে। CSV-সদৃশ এক্সপোর্ট তৈরি করার মত কাজের জন্য, Excel এর ফরম্যাটিং এবং মাল্টি-শিট সাপোর্ট (সরাসরি API এর মাধ্যমে) যুক্ত থাকায়, এটি একটি চমৎকার বিকল্প, যা আপনার কোড পরিষ্কার রাখে এবং অ্যাপের মেমরি ব্যবহার কম রাখে। Ruben Vermeersch দ্বারা তৈরি এবং নমুনা XLSX ফাইল থেকে রিভার্স-ইঞ্জিনিয়ার করা এই মডিউলটি ডেভেলপারদেরকে একটি সহজ কিন্তু কার্যকর পদ্ধতি প্রদান করে ডেটা Excel ফরম্যাটে এক্সপোর্ট করার জন্য, বড় Excel ম্যানিপুলেশন লাইব্রেরিগুলোর জটিলতা ছাড়াই। এটি এমন অ্যাপ্লিকেশনের জন্য আদর্শ, যেগুলোকে ডেটাবেস বা API থেকে বড় রিপোর্ট তৈরি করতে হয়, কারণ এর স্ট্রিমিং স্বভাব বিপুল ডেটাসেটেও কম মেমরি ব্যবহার নিশ্চিত করে।

Previous Next

Node-XLSX-Write দিয়ে শুরু করা

Node-XLSX-Writer ইনস্টল করার আগে, আপনার সিস্টেমে libzip ডেভেলপমেন্ট লাইব্রেরি ইনস্টল করা থাকতে হবে। লাইব্রেরিটি এই নেটিভ বাইন্ডিংগুলোর উপর নির্ভর করে জিপ ফাইল (XLSX ফাইল মূলত জিপ করা XML) তৈরি করতে। সফল ইনস্টলেশনের জন্য দয়া করে নিম্নলিখিত কমান্ডগুলি ব্যবহার করুন।

npm এর মাধ্যমে Node-XLSX-Write ইনস্টল করুন

npm install --save xlsx-writer

আপনি GitHub রিপোজিটরি থেকে কম্পাইল করা শেয়ার্ড লাইব্রেরি ডাউনলোড করতে পারেন এবং ইনস্টল করতে পারেন।

Node.js এ Excel XLSX স্প্রেডশিট তৈরি

ওপেন সোর্স Node-XLSX-Writer লাইব্রেরি Node.js অ্যাপ্লিকেশনে Excel XLSX ফাইল তৈরি এবং হ্যান্ডল করার ফিচার অন্তর্ভুক্ত করেছে। লাইব্রেরি Microsoft Excel বা COM ইন্টারঅপের প্রয়োজন নেই। এটি প্রোগ্রাম্যাটিক্যালি XLSX ফাইল (যা মূলত XML অংশের একটি ZIP ফাইল) গঠন করে। এটি সার্ভার-সাইড Node.js ব্যবহারের জন্য উপযুক্ত করে। নিম্নের কোড উদাহরণটি কিছু ডেটা দিয়ে একটি Excel ফাইল তৈরি করার সবচেয়ে সহজ উপায় প্রদর্শন করে।

Node.js অ্যাপের মধ্যে কীভাবে Excel XLSX ফাইল তৈরি করবেন?

// Import the library
const XLSXWriter = require('node-xlsx-writer');

// 1. Create a new instance, specifying the output file path.
const xlsx = new XLSXWriter('./output/simple_report.xlsx');

// 2. Write the header row (optional, but recommended).
xlsx.writeRow(['Name', 'Email', 'Sign-Up Date']);

// 3. Write some data rows.
xlsx.writeRow(['Alice Smith', 'alice@example.com', '2023-10-25']);
xlsx.writeRow(['Bob Johnson', 'bob.j@domain.com', '2023-10-26']);
xlsx.writeRow(['Charlie Brown', 'charlie@brown.com', '2023-10-27']);

// 4. Finalize the file. This step is crucial to save the file properly.
xlsx.finalize();

console.log('Excel file created successfully!');

বড় ডেটাসেটের জন্য স্ট্রিমিং

এখানেই Node-XLSX-Writer সত্যিই উজ্জ্বল হয়। সব ডেটা মেমরিতে লোড করার বদলে, আপনি একে একে সারি স্ট্রিম করতে পারেন। এটি ডেটাবেস কোয়েরি ফলাফল প্রক্রিয়াকরণের জন্য পারফেক্ট। লাইব্রেরি ডেটাবেস থেকে প্রতিটি রেকর্ড ইমিট করার জন্য ফাংশন ব্যবহার করে। আমরা তাৎক্ষণিকভাবে তা Excel ফাইলে একটি নতুন সারি হিসেবে লিখি। এই পদ্ধতি মেমরি ব্যবহারকে কন্সট্যান্ট রাখে, আপনি ১০০ সারি এক্সপোর্ট করুন বা ১ মিলিয়ন সারি।

Node.js অ্যাপে ডেটাবেস থেকে স্ট্রিমিং কীভাবে করবেন?

// Import the library
const XLSXWriter = require('node-xlsx-writer');

// 1. Create a new instance, specifying the output file path.
const xlsx = new XLSXWriter('./output/simple_report.xlsx');

// 2. Write the header row (optional, but recommended).
xlsx.writeRow(['Name', 'Email', 'Sign-Up Date']);

// 3. Write some data rows.
xlsx.writeRow(['Alice Smith', 'alice@example.com', '2023-10-25']);
xlsx.writeRow(['Bob Johnson', 'bob.j@domain.com', '2023-10-26']);
xlsx.writeRow(['Charlie Brown', 'charlie@brown.com', '2023-10-27']);

// 4. Finalize the file. This step is crucial to save the file properly.
xlsx.finalize();

console.log('Excel file created successfully!');

কাস্টম স্টাইলিং (ফন্ট, রঙ, বর্ডার)

পূর্ণ-ফিচার স্যুটের মতো এত বিস্তৃত না হলেও, ওপেন সোর্স Node-XLSX-Writer লাইব্রেরি আপনার রিপোর্টকে পেশাদার দেখানোর জন্য প্রয়োজনীয় স্টাইলিং অপশন সরবরাহ করে। এটি স্প্রেডশিটে স্টাইল হ্যান্ডল করার বিভিন্ন বৈশিষ্ট্য সমর্থন করে, যেমন ফন্ট বোল্ড বা ইটালিক করা, ব্যাকগ্রাউন্ড এবং বর্ডার রঙ সেট করা, বর্ডার স্টাইল (thin, medium, thick) নির্ধারণ ইত্যাদি। নিম্নের উদাহরণটি দেখায় কীভাবে সফটওয়্যার ডেভেলপাররা Node.js অ্যাপে হেডার রো স্টাইল করতে পারে।

Node.js লাইব্রেরি ব্যবহার করে হেডার রোতে স্টাইল কীভাবে প্রয়োগ করবেন?

const XLSXWriter = require('node-xlsx-writer');
const xlsx = new XLSXWriter('./output/styled_report.xlsx');

// Define a style object for the header
const headerStyle = {
  bold: true,
  background: 'FF2A52F5', // Blue background (ARGB Hex format)
  color: 'FFFFFFFF',       // White text
  border: 'thin',          // Thin border around cells
  borderColor: 'FF000000'  // Black border
};

// Apply the style when writing the header row
xlsx.writeRow(['Product', 'Category', 'Price', 'Stock'], headerStyle);

// Data rows are written without a style (or with a different one)
xlsx.writeRow(['Laptop', 'Electronics', 999.99, 15]);
xlsx.writeRow(['Desk Chair', 'Furniture', 249.50, 8]);

xlsx.finalize();

 বাংলা