Multiple Sheet ম্যানিপুলেশন

Advanced Features এবং Performance Optimization - অ্যাপাচি পিওআই (Apache POI) - Java Technologies

177

Apache POI ব্যবহার করে আপনি Excel ফাইলে একাধিক শীট তৈরি এবং পরিচালনা করতে পারবেন। XSSF (Excel 2007 এবং পরবর্তী সংস্করণের জন্য) এবং HSSF (Excel 97-2003 সংস্করণের জন্য) ফাইল ফরম্যাটের জন্য সমর্থিত।

এই টিউটোরিয়ালে, আমরা একাধিক শীট তৈরি, ডেটা অ্যাড করা, এবং শীটগুলির মধ্যে ডেটা কপি করার প্রক্রিয়া দেখব।


1. একাধিক শীট তৈরি এবং ডেটা যোগ করা (XSSF)

এখানে আমরা একটি .xlsx ফাইল তৈরি করব এবং এতে দুটি শীট যোগ করব—প্রথম শীটে কিছু ডেটা থাকবে, এবং দ্বিতীয় শীটে আলাদা ডেটা থাকবে।

উদাহরণ: একাধিক শীট তৈরি এবং ডেটা যোগ করা

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

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

public class MultipleSheetsExample {
    public static void main(String[] args) throws IOException {
        // নতুন Excel ফাইল তৈরি
        XSSFWorkbook workbook = new XSSFWorkbook();

        // প্রথম শীট তৈরি এবং ডেটা যোগ করা
        Sheet sheet1 = workbook.createSheet("Sheet1");
        Row row1 = sheet1.createRow(0);
        row1.createCell(0).setCellValue("Name");
        row1.createCell(1).setCellValue("Age");
        
        Row row2 = sheet1.createRow(1);
        row2.createCell(0).setCellValue("John");
        row2.createCell(1).setCellValue(25);

        // দ্বিতীয় শীট তৈরি এবং ডেটা যোগ করা
        Sheet sheet2 = workbook.createSheet("Sheet2");
        Row row3 = sheet2.createRow(0);
        row3.createCell(0).setCellValue("Product");
        row3.createCell(1).setCellValue("Price");

        Row row4 = sheet2.createRow(1);
        row4.createCell(0).setCellValue("Laptop");
        row4.createCell(1).setCellValue(1000);

        // ফাইল সেভ করা
        try (FileOutputStream fileOut = new FileOutputStream("multiple_sheets_example.xlsx")) {
            workbook.write(fileOut);
        }

        workbook.close();
        System.out.println("একাধিক শীট সহ Excel ফাইল সফলভাবে সেভ হয়েছে!");
    }
}

এটি কী করবে:

  • একটি Excel (.xlsx) ফাইল তৈরি করবে।
  • প্রথম শীটে Name এবং Age কলাম এবং কিছু ডেটা যোগ করবে।
  • দ্বিতীয় শীটে Product এবং Price কলাম এবং কিছু ডেটা যোগ করবে।
  • ফাইলটি multiple_sheets_example.xlsx নামে সেভ করবে।

2. এক শীট থেকে অন্য শীটে ডেটা কপি করা (XSSF)

এখানে আমরা একটি শীট থেকে ডেটা কপি করে অন্য শীটে বসাবো।

উদাহরণ: শীট থেকে শীটে ডেটা কপি করা

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

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

public class CopyDataBetweenSheetsExample {
    public static void main(String[] args) throws IOException {
        // Excel ফাইল ওপেন করা
        FileInputStream fileIn = new FileInputStream("multiple_sheets_example.xlsx");
        XSSFWorkbook workbook = new XSSFWorkbook(fileIn);

        // প্রথম শীট থেকে ডেটা রিড করা
        Sheet sheet1 = workbook.getSheetAt(0);
        Row row1 = sheet1.getRow(1);

        // দ্বিতীয় শীট তৈরি করা, যদি না থাকে
        Sheet sheet2 = workbook.getSheetAt(1);

        // প্রথম শীটের ডেটা দ্বিতীয় শীটে কপি করা
        Row newRow = sheet2.createRow(2);
        newRow.createCell(0).setCellValue(row1.getCell(0).getStringCellValue()); // Name
        newRow.createCell(1).setCellValue(row1.getCell(1).getNumericCellValue()); // Age

        // ফাইল সেভ করা
        try (FileOutputStream fileOut = new FileOutputStream("copied_data_example.xlsx")) {
            workbook.write(fileOut);
        }

        workbook.close();
        fileIn.close();
        System.out.println("শীট থেকে শীটে ডেটা সফলভাবে কপি করা হয়েছে!");
    }
}

এটি কী করবে:

  • পূর্বে তৈরি multiple_sheets_example.xlsx ফাইলটি ওপেন করবে।
  • প্রথম শীটের John এবং 25 ডেটা কপি করে দ্বিতীয় শীটে বসাবে।
  • ফাইলটি copied_data_example.xlsx নামে সেভ করবে।

3. শীটের নাম পরিবর্তন এবং শীট মুছে ফেলা (XSSF)

এখানে, আমরা একটি শীটের নাম পরিবর্তন এবং একটি শীট মুছে ফেলার প্রক্রিয়া দেখব।

উদাহরণ: শীটের নাম পরিবর্তন এবং শীট মুছে ফেলা

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

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

public class RenameAndDeleteSheetExample {
    public static void main(String[] args) throws IOException {
        // Excel ফাইল ওপেন করা
        FileInputStream fileIn = new FileInputStream("multiple_sheets_example.xlsx");
        XSSFWorkbook workbook = new XSSFWorkbook(fileIn);

        // প্রথম শীটের নাম পরিবর্তন
        workbook.setSheetName(0, "Renamed_Sheet1");

        // দ্বিতীয় শীট মুছে ফেলা
        workbook.removeSheetAt(1);

        // ফাইল সেভ করা
        try (FileOutputStream fileOut = new FileOutputStream("modified_example.xlsx")) {
            workbook.write(fileOut);
        }

        workbook.close();
        fileIn.close();
        System.out.println("শীটের নাম পরিবর্তন এবং শীট মুছে ফেলা সফল হয়েছে!");
    }
}

এটি কী করবে:

  • multiple_sheets_example.xlsx ফাইলটি ওপেন করবে।
  • প্রথম শীটের নাম Renamed_Sheet1 নামকরণ করবে।
  • দ্বিতীয় শীটটি মুছে ফেলবে।
  • পরিবর্তিত ফাইল modified_example.xlsx নামে সেভ করবে।

সারাংশ

Apache POI ব্যবহার করে আপনি Excel ফাইলে একাধিক শীট তৈরি, ডেটা যোগ, এবং শীটগুলির মধ্যে ডেটা কপি বা স্থানান্তর করতে পারবেন। এছাড়া, শীটের নাম পরিবর্তন, শীট মুছে ফেলা এবং বিভিন্ন শীটের ডেটা ম্যানিপুলেশন করা সহজ। এই সব ফিচারগুলো আপনাকে Excel ফাইলের ডাইনামিক ম্যানিপুলেশন করতে সহায়তা করবে, যা ব্যবসায়িক ডেটা প্রক্রিয়াকরণ এবং রিপোর্ট তৈরি করতে অত্যন্ত কার্যকর।

Content added By
Promotion

Are you sure to start over?

Loading...