Apache POI লাইব্রেরি ব্যবহার করে Excel ফাইল থেকে ডেটা পড়তে হলে আপনাকে Sheet, Row, এবং Cell স্তরের ডেটা এক্সেস করতে হবে। এই প্রক্রিয়াটি বেশ সোজা, যেখানে আপনি প্রথমে Excel ফাইলটি লোড করবেন, তারপর নির্দিষ্ট Sheet থেকে Row এবং Cell গুলি অ্যাক্সেস করবেন।
এখানে XSSF (Excel 2007 এবং পরবর্তী সংস্করণের জন্য) এবং HSSF (পুরানো Excel ফরম্যাট, যেমন .xls ফাইল) ক্লাস ব্যবহার করা হয়।
1. Excel ফাইল লোড করা
প্রথমে, Apache POI এর XSSFWorkbook (Excel 2007 বা এর পরবর্তী সংস্করণ) ক্লাস ব্যবহার করে Excel ফাইল লোড করা হয়।
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.apache.poi.ss.usermodel.*;
import java.io.FileInputStream;
import java.io.IOException;
public class ExcelReader {
public static void main(String[] args) throws IOException {
// Excel ফাইল লোড করা
FileInputStream file = new FileInputStream("example.xlsx");
// Workbook তৈরি করা (XSSFWorkbook ব্যবহার করছি Excel 2007 এবং পরবর্তী সংস্করণের জন্য)
XSSFWorkbook workbook = new XSSFWorkbook(file);
// প্রথম Sheet পাওয়া
Sheet sheet = workbook.getSheetAt(0); // প্রথম Sheet, Sheet নাম অনুযায়ীও পেতে পারেন
2. Sheet, Row, এবং Cell থেকে ডেটা পড়া
এখন, Sheet থেকে Row এবং Cell পর্যন্ত এক্সেস করতে হবে। Sheet থেকে প্রতিটি Row এবং তার মধ্যে থাকা Cell গুলি পড়ার জন্য for লুপ ব্যবহার করা হয়।
// Sheet থেকে Row এবং Cell এর মাধ্যমে ডেটা পড়া
for (Row row : sheet) {
for (Cell cell : row) {
switch (cell.getCellType()) {
case STRING:
System.out.print(cell.getStringCellValue() + "\t");
break;
case NUMERIC:
System.out.print(cell.getNumericCellValue() + "\t");
break;
case BOOLEAN:
System.out.print(cell.getBooleanCellValue() + "\t");
break;
default:
System.out.print("Invalid cell type" + "\t");
}
}
System.out.println(); // এক লাইনের পর নতুন লাইন শুরু
}
// Excel ফাইল বন্ধ করা
workbook.close();
file.close();
}
}
3. কোডের ব্যাখ্যা:
XSSFWorkbook workbook = new XSSFWorkbook(file);– এই লাইনে আমরা Excel ফাইলটি লোড করছি।Sheet sheet = workbook.getSheetAt(0);– এখানে আমরা প্রথম Sheet টি পাচ্ছি (Sheet নাম দিয়েও অ্যাক্সেস করা যায়)।for (Row row : sheet)– প্রতিটি Row এর উপর লুপ চলছে।for (Cell cell : row)– প্রতিটি Row এর মধ্যে থাকা Cell এর উপর লুপ চলছে।cell.getCellType()– এখানে আমরা Cell এর ধরন চেক করছি (যেমন STRING, NUMERIC, BOOLEAN ইত্যাদি) এবং তার উপর ভিত্তি করে ডেটা বের করছি।
4. Excel ফাইলের বিভিন্ন ডেটা টাইপ:
- STRING: টেক্সট ডেটা।
- NUMERIC: সংখ্যা।
- BOOLEAN: বুলিয়ান (True/False) মান।
- FORMULA: যদি কোন Formula থাকে, তবে তার জন্য আলাদা ট্রিটমেন্ট প্রয়োজন।
5. Cell এর Value পাওয়ার উদাহরণ:
String Cell থেকে ডেটা পাওয়ার জন্য:
String value = cell.getStringCellValue();Numeric Cell থেকে ডেটা পাওয়ার জন্য:
double value = cell.getNumericCellValue();Boolean Cell থেকে ডেটা পাওয়ার জন্য:
boolean value = cell.getBooleanCellValue();
সারাংশ
এই প্রক্রিয়ায় আপনি Apache POI ব্যবহার করে Excel ফাইলের মধ্যে থাকা Sheet, Row, এবং Cell থেকে ডেটা সহজেই এক্সেস করতে পারেন।
- Sheet: Excel এর পাতা বা ট্যাব।
- Row: Sheet এর সারি।
- Cell: Row এর সেল যেখানে ডেটা রাখা থাকে।
এটি ব্যবহার করে আপনি বিভিন্ন ধরনের ডেটা (টেক্সট, সংখ্যা, বুলিয়ান) এক্সেস এবং প্রসেস করতে পারবেন।
Read more