Workbook এবং Sheet এর প্রপার্টি সেট করা

Excel ফাইলের প্রপার্টি এবং Metadata হ্যান্ডেল করা - অ্যাপাচি পিওআই (Apache POI) - Java Technologies

233

Apache POI ব্যবহার করে Workbook এবং Sheet এর প্রপার্টি সেট করা খুবই গুরুত্বপূর্ণ, কারণ এগুলোর মাধ্যমে আপনি আপনার Excel ফাইলের কাস্টমাইজেশন এবং স্টাইলিং করতে পারেন। নিচে কিছু গুরুত্বপূর্ণ Workbook এবং Sheet প্রপার্টি সেট করার পদ্ধতি ব্যাখ্যা করা হলো।


1. Workbook এর প্রপার্টি সেট করা

Workbook Title বা Author সেট করা

আপনি একটি Excel Workbook এর কিছু মেটাডেটা যেমন title, author, subject ইত্যাদি সেট করতে পারেন। এটি POI এর CreationHelper ব্যবহার করে করা হয়।

import org.apache.poi.ss.usermodel.*;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;

import java.io.FileOutputStream;
import java.io.IOException;

public class WorkbookPropertiesExample {

    public static void main(String[] args) throws IOException {
        // নতুন Workbook তৈরি
        XSSFWorkbook workbook = new XSSFWorkbook();

        // CreationHelper ব্যবহার করে মেটাডেটা সেট করা
        workbook.getProperties().getCoreProperties().setCreator("Your Name");
        workbook.getProperties().getCoreProperties().setTitle("Employee Data Sheet");
        workbook.getProperties().getCoreProperties().setSubject("Employee Information");
        
        // শীট তৈরি
        Sheet sheet = workbook.createSheet("Employee Data");

        // ডেটা ইনসার্ট করা (পূর্বের উদাহরণ অনুযায়ী)
        Row headerRow = sheet.createRow(0);
        headerRow.createCell(0).setCellValue("Employee ID");
        headerRow.createCell(1).setCellValue("Name");
        headerRow.createCell(2).setCellValue("Position");
        headerRow.createCell(3).setCellValue("Salary");

        // ফাইল আউটপুট
        try (FileOutputStream fileOut = new FileOutputStream("employee_data_with_properties.xlsx")) {
            workbook.write(fileOut);
        }

        workbook.close();
    }
}

কোড ব্যাখ্যা:

  • workbook.getProperties().getCoreProperties(): এটি Workbook এর মেটাডেটা অ্যাক্সেস করতে ব্যবহৃত হয়, যেখানে আপনি creator, title, subject ইত্যাদি সেট করতে পারেন।

2. Sheet এর প্রপার্টি সেট করা

Sheet এর নাম পরিবর্তন করা

আপনি Sheet এর নাম পরিবর্তন করতে পারেন, যা ডিফল্টভাবে Sheet1, Sheet2 ইত্যাদি থাকে।

Sheet sheet = workbook.createSheet("Employee Data");

এখানে createSheet() এর আর্গুমেন্টটি হলো Sheet এর নাম।

Sheet এর Column Width সেট করা

একটি সেলের প্রস্থ পরিবর্তন করতে আপনি setColumnWidth() ব্যবহার করতে পারেন। এটি এক্সেল শীটের একটি কলামের প্রস্থ সেট করে।

sheet.setColumnWidth(0, 6000); // Column A
sheet.setColumnWidth(1, 8000); // Column B
sheet.setColumnWidth(2, 10000); // Column C
sheet.setColumnWidth(3, 12000); // Column D

এখানে 6000, 8000 ইত্যাদি হল পিক্সেল অনুযায়ী কলামের প্রস্থ।

Sheet এর Row Height সেট করা

একটি রো-এর উচ্চতা পরিবর্তন করতে আপনি setRowHeight() ব্যবহার করতে পারেন।

Row row = sheet.createRow(0);
row.setHeightInPoints(25);  // Row 0 height set to 25 points

এখানে 25 হল রো-এর উচ্চতা, যা পয়েন্টে সেট করা হয়েছে।


3. Freeze Panes (শীটের হেডার লক করা)

শীটের উপরের রো বা বাম দিকের কলাম লক করতে আপনি freeze panes ফিচারটি ব্যবহার করতে পারেন। এতে আপনি স্ক্রল করার সময় শীর্ষ রো বা কলাম দেখতে পাবেন।

sheet.createFreezePane(0, 1);  // Freeze the top row

এটি প্রথম রো (header) freeze করবে, অর্থাৎ স্ক্রলিংয়ের সময় এটি স্ক্রিনে দৃশ্যমান থাকবে।


4. Auto-Size Column

Excel এর প্রতিটি কলামকে তার কন্টেন্ট অনুযায়ী স্বয়ংক্রিয়ভাবে আকার দেয়া হয়।

for (int i = 0; i < 4; i++) {
    sheet.autoSizeColumn(i);
}

এটি প্রতিটি কলামের প্রস্থ তার কন্টেন্ট অনুযায়ী স্বয়ংক্রিয়ভাবে সেট করবে।


5. Sheet এর Gridlines Hidden করা

Excel ফাইলে ডিফল্টভাবে gridlines থাকে। আপনি চাইলে এগুলো হাইড করতে পারেন।

sheet.setDisplayGridlines(false);

এটি gridlines লুকিয়ে ফেলবে, কিন্তু সেলগুলির মধ্যে বর্ডার থাকবে।


6. Sheet Protection (রক্ষা করা)

আপনি sheet কে পাসওয়ার্ড দিয়ে রক্ষা করতে পারেন। এতে কেউ যদি সেই শীটে পরিবর্তন করতে চায় তবে পাসওয়ার্ড দিতে হবে।

sheet.protectSheet("password");

এটি শীটটি password দিয়ে রক্ষা করবে, যাতে কেউ অনুপযুক্তভাবে ফাইল সম্পাদনা করতে না পারে।


7. Conditional Formatting (শর্তাধীন ফরম্যাটিং)

আপনি sheet এ কিছু নির্দিষ্ট শর্তে ভিত্তি করে ফরম্যাটিং (যেমন রঙ পরিবর্তন) করতে পারেন। উদাহরণস্বরূপ, যদি কোনও সেলের মান 50 এর বেশি হয়, তবে সেটির ব্যাকগ্রাউন্ড রঙ পরিবর্তন করা।

ConditionalFormattingRule rule = sheet.getSheetConditionalFormatting().createConditionalFormattingRule(
        ComparisonOperator.GT, "50");
PatternFormatting fill = rule.createPatternFormatting();
fill.setFillBackgroundColor(IndexedColors.YELLOW.index);

CellRangeAddress[] regions = { CellRangeAddress.valueOf("A1:A100") };
sheet.getSheetConditionalFormatting().addConditionalFormatting(regions, rule);

এটি কলাম A তে ৫০ এর বেশি যে সেল হবে তার ব্যাকগ্রাউন্ড রঙ yellow এ পরিবর্তন করবে।


সারাংশ

Apache POI ব্যবহার করে Workbook এবং Sheet এর বিভিন্ন প্রপার্টি কাস্টমাইজ করা সম্ভব। আপনি workbook এর মেটাডেটা যেমন author, title, subject সেট করতে পারেন, এবং sheet এর নাম, কলাম প্রস্থ, রো উচ্চতা, freeze panes, gridlines, sheet protection ইত্যাদি কাস্টমাইজ করতে পারেন। এই ধরনের কাস্টমাইজেশন আপনাকে Excel ফাইল আরও প্রফেশনাল এবং ইউজার ফ্রেন্ডলি করতে সাহায্য করবে।

Content added By
Promotion

Are you sure to start over?

Loading...