Apache POI ব্যবহার করে Excel সেলে Font এবং Color সেট করা খুবই সহজ। আপনি Font ক্লাস ব্যবহার করে সেলের ফন্ট কাস্টমাইজ করতে পারেন, এবং CellStyle ক্লাসের মাধ্যমে সেলের রঙ কাস্টমাইজ করতে পারেন।
এই উদাহরণে আমরা দেখব কিভাবে সেলে Font এবং Color সেট করা যায়।
১. Font সেট করা
Font ক্লাসের মাধ্যমে সেলের ফন্ট কাস্টমাইজ করা যায়, যেমন ফন্টের টাইপ, সাইজ, বোল্ড, ইটালিক ইত্যাদি।
উদাহরণ: Font সেট করা
import org.apache.poi.ss.usermodel.*;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import java.io.FileOutputStream;
import java.io.IOException;
public class FontExample {
public static void main(String[] args) throws IOException {
// XSSFWorkbook অবজেক্ট তৈরি
XSSFWorkbook workbook = new XSSFWorkbook();
// নতুন শীট তৈরি
Sheet sheet = workbook.createSheet("Font Example");
// Font তৈরি
Font font = workbook.createFont();
font.setBold(true); // বোল্ড ফন্ট
font.setItalic(true); // ইটালিক ফন্ট
font.setFontHeightInPoints((short) 14); // ফন্ট সাইজ সেট করা
font.setFontName("Arial"); // ফন্ট নাম সেট করা
// সেল স্টাইল তৈরি
CellStyle style = workbook.createCellStyle();
style.setFont(font); // Font স্টাইল অ্যাপ্লাই করা
// রো তৈরি
Row row = sheet.createRow(0);
// সেল তৈরি এবং ফন্ট স্টাইল অ্যাপ্লাই করা
Cell cell = row.createCell(0);
cell.setCellValue("Bold and Italic Font");
cell.setCellStyle(style);
// ফাইল আউটপুট স্ট্রিম তৈরি
FileOutputStream fileOut = new FileOutputStream("fontStyledWorkbook.xlsx");
// এক্সেল ফাইল সেভ করা
workbook.write(fileOut);
fileOut.close();
System.out.println("Excel ফাইল তৈরি হয়েছে এবং কাস্টম ফন্ট স্টাইল অ্যাপ্লাই করা হয়েছে!");
}
}
কোড ব্যাখ্যা:
- createFont(): ফন্ট তৈরি করা হয়েছে।
- setBold(true) এবং setItalic(true): বোল্ড এবং ইটালিক স্টাইল ব্যবহার করা হয়েছে।
- setFontHeightInPoints(): ফন্ট সাইজ নির্ধারণ করা হয়েছে (এখানে ১৪ পয়েন্ট)।
- setFontName(): ফন্টের নাম অ্যারিয়াল (Arial) সেট করা হয়েছে।
- CellStyle: তৈরি করা ফন্ট স্টাইল সেলে অ্যাপ্লাই করা হয়েছে।
২. Color (রঙ) সেট করা
Apache POI ব্যবহার করে সেলের ব্যাকগ্রাউন্ড বা টেক্সট রঙ কাস্টমাইজ করা যায়। আপনি setFillForegroundColor() এবং setFillPattern() মেথড ব্যবহার করে সেলের ব্যাকগ্রাউন্ড রঙ, এবং setColor() মেথড ব্যবহার করে ফন্টের রঙ নির্ধারণ করতে পারেন।
উদাহরণ: Color সেট করা (ব্যাকগ্রাউন্ড এবং ফন্ট রঙ)
import org.apache.poi.ss.usermodel.*;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.apache.poi.ss.util.CellRangeAddress;
import java.io.FileOutputStream;
import java.io.IOException;
public class ColorExample {
public static void main(String[] args) throws IOException {
// XSSFWorkbook অবজেক্ট তৈরি
XSSFWorkbook workbook = new XSSFWorkbook();
// নতুন শীট তৈরি
Sheet sheet = workbook.createSheet("Color Example");
// সেল স্টাইল তৈরি
CellStyle style = workbook.createCellStyle();
// ব্যাকগ্রাউন্ড রঙ সেট করা
style.setFillForegroundColor(IndexedColors.YELLOW.getIndex()); // হলুদ ব্যাকগ্রাউন্ড
style.setFillPattern(FillPatternType.SOLID_FOREGROUND); // সলিড ব্যাকগ্রাউন্ড
// Font তৈরি এবং রঙ সেট করা
Font font = workbook.createFont();
font.setColor(IndexedColors.RED.getIndex()); // ফন্টের রঙ লাল
// Font স্টাইল সেলে অ্যাপ্লাই করা
style.setFont(font);
// রো তৈরি
Row row = sheet.createRow(0);
// সেল তৈরি এবং স্টাইল অ্যাপ্লাই করা
Cell cell = row.createCell(0);
cell.setCellValue("Yellow Background, Red Font");
cell.setCellStyle(style);
// ফাইল আউটপুট স্ট্রিম তৈরি
FileOutputStream fileOut = new FileOutputStream("colorStyledWorkbook.xlsx");
// এক্সেল ফাইল সেভ করা
workbook.write(fileOut);
fileOut.close();
System.out.println("Excel ফাইল তৈরি হয়েছে এবং কাস্টম রঙ অ্যাপ্লাই করা হয়েছে!");
}
}
কোড ব্যাখ্যা:
- setFillForegroundColor(): সেলের ব্যাকগ্রাউন্ড রঙ হিসেবে হলুদ সেট করা হয়েছে।
- setFillPattern(): ব্যাকগ্রাউন্ডের ফিল প্যাটার্ন সলিড করা হয়েছে।
- font.setColor(): ফন্টের রঙ লাল (RED) সেট করা হয়েছে।
- IndexedColors: POI এর প্রি-ডিফাইনড রঙ তালিকা থেকে রঙ নির্ধারণ করা হয়।
IndexedColors.YELLOWএবংIndexedColors.REDব্যবহার করা হয়েছে এখানে।
৩. Font এবং Color একত্রে ব্যবহার
ফন্ট এবং রঙ একত্রে ব্যবহার করে একটি সেলে স্টাইল এবং রঙিং করতে পারেন।
উদাহরণ: ফন্ট এবং রঙ একত্রে অ্যাপ্লাই করা
import org.apache.poi.ss.usermodel.*;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import java.io.FileOutputStream;
import java.io.IOException;
public class FontAndColorExample {
public static void main(String[] args) throws IOException {
// XSSFWorkbook অবজেক্ট তৈরি
XSSFWorkbook workbook = new XSSFWorkbook();
// নতুন শীট তৈরি
Sheet sheet = workbook.createSheet("Font and Color Example");
// সেল স্টাইল তৈরি
CellStyle style = workbook.createCellStyle();
// ব্যাকগ্রাউন্ড রঙ সেট করা
style.setFillForegroundColor(IndexedColors.GREEN.getIndex());
style.setFillPattern(FillPatternType.SOLID_FOREGROUND);
// Font তৈরি এবং রঙ সেট করা
Font font = workbook.createFont();
font.setColor(IndexedColors.WHITE.getIndex()); // ফন্ট রঙ সাদা
font.setBold(true); // ফন্ট বোল্ড করা
style.setFont(font);
// রো তৈরি
Row row = sheet.createRow(0);
// সেল তৈরি এবং স্টাইল অ্যাপ্লাই করা
Cell cell = row.createCell(0);
cell.setCellValue("Green Background, White Bold Font");
cell.setCellStyle(style);
// ফাইল আউটপুট স্ট্রিম তৈরি
FileOutputStream fileOut = new FileOutputStream("fontAndColorStyledWorkbook.xlsx");
// এক্সেল ফাইল সেভ করা
workbook.write(fileOut);
fileOut.close();
System.out.println("Excel ফাইল তৈরি হয়েছে এবং কাস্টম ফন্ট এবং রঙ অ্যাপ্লাই করা হয়েছে!");
}
}
কোড ব্যাখ্যা:
- সেলের ব্যাকগ্রাউন্ডে সবুজ (Green) রঙ এবং ফন্টে সাদা (White) রঙ বোল্ড ফন্টের সাথে অ্যাপ্লাই করা হয়েছে।
- setFont() মেথড ব্যবহার করে ফন্টের বৈশিষ্ট্য এবং setFillForegroundColor() দিয়ে ব্যাকগ্রাউন্ড রঙ নির্ধারণ করা হয়েছে।
সারাংশ
Apache POI ব্যবহার করে সেল স্টাইলিং এর মাধ্যমে আপনি Font এবং Color কাস্টমাইজ করতে পারেন। ফন্টের স্টাইল, সাইজ, রঙ এবং ব্যাকগ্রাউন্ড রঙ পরিবর্তন করে আরও আকর্ষণীয় এবং সুসজ্জিত Excel রিপোর্ট তৈরি করতে পারবেন। IndexedColors ব্যবহার করে POI এর ডিফল্ট রঙ তালিকা থেকে রঙ নির্বাচন করা যায়, এবং setFont() এবং setFillForegroundColor() এর মাধ্যমে সেল স্টাইল নিয়ন্ত্রণ করা যায়।
Read more