Apache POI এর সাহায্যে Excel ফাইলের সাথে কাজ করার সময়, বিশেষ করে XSSF বা HSSF মডিউল ব্যবহার করে আপনি সেল (Cell) এর ডেটা টাইপ এবং ফরম্যাটিং পরিচালনা করতে পারবেন। সেলগুলোর মধ্যে বিভিন্ন ধরনের ডেটা থাকতে পারে, যেমন টেক্সট, নাম্বার, তারিখ, ইত্যাদি। এগুলোর সঠিকভাবে প্রদর্শন এবং ব্যবস্থাপনা করতে সেল টাইপ এবং ফরম্যাটিং অপরিহার্য।
এখানে Apache POI তে Cell Type এবং Data Formatting কিভাবে করা যায়, সে সম্পর্কে বিস্তারিত আলোচনা করা হলো।
Cell Type
Cell Type বা সেল এর ধরন হলো একটি নির্দিষ্ট ধরনের ডেটা যা সেই সেলে সংরক্ষিত থাকে। POI এর মাধ্যমে আপনি একটি সেলে বিভিন্ন ধরনের ডেটা রাখতে পারেন, যেমন String, Numeric, Boolean, Date ইত্যাদি। সেল টাইপ সঠিকভাবে নির্ধারণ করার জন্য আপনি CellType শ্রেণী ব্যবহার করতে পারেন।
প্রধান সেল টাইপ:
- CellType.STRING
এটি টেক্সট বা স্ট্রিং ডেটার জন্য ব্যবহৃত হয়। যখন সেলে কোনো পাঠ্য (text) ডেটা রাখা হয়, তখন এর টাইপ হবে STRING। - CellType.NUMERIC
এই টাইপটি সংখ্যার জন্য ব্যবহৃত হয়। সংখ্যা (integer, decimal) এবং তারিখ (Date) সংরক্ষণ করার জন্য NUMERIC টাইপ ব্যবহার করা হয়। তারিখের জন্য বিশেষভাবে Date ফরম্যাটের প্রয়োগ করা হয়। - CellType.BOOLEAN
এই সেল টাইপটি true বা false এর মান রাখার জন্য ব্যবহৃত হয়। - CellType.FORMULA
এই টাইপটি সেলে একটি Formula (যেমন SUM, AVERAGE ইত্যাদি) ব্যবহার করার জন্য ব্যবহৃত হয়। - CellType.BLANK
এটি খালি সেলের জন্য ব্যবহৃত হয়। যদি কোনো সেলে কোনো মান না থাকে তবে এটি BLANK টাইপ হয়।
Data Formatting
Excel সেলের ডেটা ফরম্যাটিং এর মাধ্যমে আপনি তথ্য কে একটি সুন্দর এবং উপযুক্ত ফরম্যাটে রূপান্তর করতে পারেন, যেমন তারিখ, সংখ্যা বা মুদ্রা (currency) ফরম্যাট। POI আপনাকে কাস্টম CellStyle তৈরি করার মাধ্যমে এই ফরম্যাটিং করার সুযোগ দেয়।
১. Number Formatting
Number formatting হল সংখ্যা বা দশমিকের মান উপস্থাপনের একটি উপায়। আপনি CellStyle ব্যবহার করে Excel সেলে সংখ্যা এবং তারিখের ফরম্যাট নির্ধারণ করতে পারেন।
উদাহরণ:
CellStyle cellStyle = workbook.createCellStyle();
DataFormat format = workbook.createDataFormat();
cellStyle.setDataFormat(format.getFormat("0.00")); // দুই দশমিকের সংখ্যা ফরম্যাট
এখানে, 0.00 ফরম্যাটটি দুই দশমিক পর্যন্ত সংখ্যা প্রদর্শন করবে। এর পরিবর্তে আপনি অন্যান্য ফরম্যাট যেমন "#,##0" (কমা সহ সংখ্যা), "0%" (শতাংশ), "₹#,##0.00" (মুদ্রা) ইত্যাদি ব্যবহার করতে পারেন।
২. Date Formatting
Excel সেলে তারিখের জন্য বিশেষ ফরম্যাট ব্যবহৃত হয়, যা DataFormat শ্রেণী দ্বারা কাস্টমাইজ করা যায়। আপনি Date টাইপের সেলেও ফরম্যাট প্রয়োগ করতে পারেন।
উদাহরণ:
CellStyle cellStyle = workbook.createCellStyle();
DataFormat format = workbook.createDataFormat();
cellStyle.setDataFormat(format.getFormat("yyyy-mm-dd")); // তারিখ ফরম্যাট
এখানে, yyyy-mm-dd তারিখের ফরম্যাটের জন্য ব্যবহৃত হচ্ছে, যেমন 2024-12-17।
৩. Text Formatting
টেক্সটের জন্য সাধারণত সেল স্টাইল ব্যবহার করা হয়। আপনি Font এবং CellStyle ব্যবহার করে টেক্সটের ফন্ট, আকার, রঙ এবং অন্যান্য ফরম্যাটিং পরিবর্তন করতে পারেন।
উদাহরণ:
CellStyle cellStyle = workbook.createCellStyle();
Font font = workbook.createFont();
font.setBold(true);
font.setColor(IndexedColors.RED.getIndex());
cellStyle.setFont(font);
এখানে, ফন্টটি Bold এবং Red রঙে সেট করা হয়েছে।
৪. Currency Formatting
আপনি Excel সেলে মুদ্রা (Currency) ফরম্যাটও প্রয়োগ করতে পারেন, যেমন: টাকা, ডলার বা ইউরো।
উদাহরণ:
CellStyle cellStyle = workbook.createCellStyle();
DataFormat format = workbook.createDataFormat();
cellStyle.setDataFormat(format.getFormat("₹ #,##0.00")); // মুদ্রা ফরম্যাট
এখানে, ₹ #,##0.00 ব্যবহার করা হয়েছে যাতে টাকা বা মুদ্রা মানটি উপস্থাপন করা যায়।
সারাংশ
Apache POI এর মাধ্যমে Excel সেলের টাইপ এবং ডেটা ফরম্যাটিং একটি গুরুত্বপূর্ণ বিষয়। আপনি CellType ব্যবহার করে সেল টাইপ নির্ধারণ করতে পারেন, এবং CellStyle ও DataFormat এর মাধ্যমে সেলের ফরম্যাটিং পরিচালনা করতে পারেন। বিভিন্ন ধরনের ডেটা যেমন টেক্সট, সংখ্যা, তারিখ, মুদ্রা ইত্যাদির জন্য ফরম্যাটিং প্রয়োগ করে একটি প্রফেশনাল রিপোর্ট বা ডকুমেন্ট তৈরি করা সম্ভব।
এই সুবিধাগুলি আপনাকে Apache POI ব্যবহার করে আরো উন্নত এবং কাস্টমাইজড Excel ডকুমেন্ট তৈরি করতে সাহায্য করবে।
Read more