Apache POI ব্যবহার করে PowerPoint স্লাইডে টেবিল তৈরি এবং তার ভিতরে ডেটা ইনসার্ট করা একটি সহজ কাজ। আপনি XSLF API ব্যবহার করে স্লাইডে টেবিল তৈরি করতে পারেন এবং টেবিলের প্রতিটি সেলে ডেটা যোগ করতে পারেন।
এই লেখায় আমরা দেখব কিভাবে Apache POI এর মাধ্যমে PowerPoint স্লাইডে টেবিল তৈরি এবং তার ভিতরে ডেটা ইনসার্ট করা যায়।
PowerPoint স্লাইডে টেবিল তৈরি করতে প্রথমে আপনাকে একটি XSLFTable অবজেক্ট তৈরি করতে হবে। তারপর, টেবিলের প্রতিটি সেলে ডেটা ইনসার্ট করতে হবে। নিচে একটি উদাহরণ দেওয়া হলো যেখানে একটি PowerPoint স্লাইডে একটি টেবিল তৈরি করা হয়েছে এবং তার ভিতরে ডেটা যোগ করা হয়েছে।
import org.apache.poi.xslf.usermodel.XMLSlideShow;
import org.apache.poi.xslf.usermodel.XSLFSlide;
import org.apache.poi.xslf.usermodel.XSLFTable;
import org.apache.poi.xslf.usermodel.XSLFTableCell;
import org.apache.poi.sl.usermodel.Table;
import java.awt.Color;
import java.io.FileOutputStream;
import java.io.IOException;
public class TableInsertDataExample {
public static void main(String[] args) throws IOException {
// একটি নতুন PowerPoint স্লাইডশো তৈরি
XMLSlideShow ppt = new XMLSlideShow();
// একটি স্লাইড তৈরি
XSLFSlide slide = ppt.createSlide();
// টেবিলের জন্য 3 সারি এবং 3 কলাম নির্ধারণ
XSLFTable table = slide.createTable();
table.setAnchor(new java.awt.Rectangle(50, 50, 400, 200)); // টেবিলের অবস্থান ও আকার
// টেবিলের প্রথম সারির সেলসমূহে ডেটা ইনসার্ট করা
XSLFTableCell cell00 = table.getCell(0, 0);
cell00.setText("Header 1");
cell00.setFillColor(Color.LIGHT_GRAY);
XSLFTableCell cell01 = table.getCell(0, 1);
cell01.setText("Header 2");
cell01.setFillColor(Color.LIGHT_GRAY);
XSLFTableCell cell02 = table.getCell(0, 2);
cell02.setText("Header 3");
cell02.setFillColor(Color.LIGHT_GRAY);
// টেবিলের দ্বিতীয় সারির সেলসমূহে ডেটা ইনসার্ট করা
XSLFTableCell cell10 = table.getCell(1, 0);
cell10.setText("Row 1, Col 1");
XSLFTableCell cell11 = table.getCell(1, 1);
cell11.setText("Row 1, Col 2");
XSLFTableCell cell12 = table.getCell(1, 2);
cell12.setText("Row 1, Col 3");
// টেবিলের তৃতীয় সারির সেলসমূহে ডেটা ইনসার্ট করা
XSLFTableCell cell20 = table.getCell(2, 0);
cell20.setText("Row 2, Col 1");
XSLFTableCell cell21 = table.getCell(2, 1);
cell21.setText("Row 2, Col 2");
XSLFTableCell cell22 = table.getCell(2, 2);
cell22.setText("Row 2, Col 3");
// PowerPoint ফাইল সেভ করা
try (FileOutputStream out = new FileOutputStream("table_in_powerpoint.pptx")) {
ppt.write(out);
}
System.out.println("PowerPoint স্লাইডে টেবিল সফলভাবে ইনসার্ট করা হয়েছে!");
}
}
Apache POI ব্যবহার করে আপনি টেবিলের সেলগুলো কাস্টমাইজ করতে পারেন, যেমন:
import org.apache.poi.xslf.usermodel.XMLSlideShow;
import org.apache.poi.xslf.usermodel.XSLFSlide;
import org.apache.poi.xslf.usermodel.XSLFTable;
import org.apache.poi.xslf.usermodel.XSLFTableCell;
import org.apache.poi.sl.usermodel.TextParagraph;
import java.awt.Color;
import java.io.FileOutputStream;
import java.io.IOException;
public class TableCellCustomizationExample {
public static void main(String[] args) throws IOException {
// একটি নতুন PowerPoint স্লাইডশো তৈরি
XMLSlideShow ppt = new XMLSlideShow();
// একটি স্লাইড তৈরি
XSLFSlide slide = ppt.createSlide();
// টেবিলের জন্য 2 সারি এবং 3 কলাম নির্ধারণ
XSLFTable table = slide.createTable();
table.setAnchor(new java.awt.Rectangle(50, 50, 400, 150)); // টেবিলের অবস্থান ও আকার
// প্রথম সারির সেলে Font Style এবং Alignment পরিবর্তন
XSLFTableCell cell00 = table.getCell(0, 0);
cell00.setText("Header 1");
cell00.setFillColor(Color.LIGHT_GRAY);
TextParagraph p0 = cell00.getTextParagraphs().get(0);
p0.setAlignment(TextParagraph.Align.CENTER); // টেক্সট সেন্টারে করা
// দ্বিতীয় সারির সেলে Font Style এবং Alignment পরিবর্তন
XSLFTableCell cell10 = table.getCell(1, 0);
cell10.setText("Data 1");
TextParagraph p1 = cell10.getTextParagraphs().get(0);
p1.setAlignment(TextParagraph.Align.LEFT); // টেক্সট বামদিকে করা
// PowerPoint ফাইল সেভ করা
try (FileOutputStream out = new FileOutputStream("customized_table.pptx")) {
ppt.write(out);
}
System.out.println("PowerPoint স্লাইডে কাস্টমাইজড টেবিল ইনসার্ট করা হয়েছে!");
}
}
Apache POI ব্যবহার করে PowerPoint স্লাইডে টেবিল তৈরি এবং তার ভিতরে ডেটা ইনসার্ট করা একটি শক্তিশালী ফিচার। আপনি টেবিলের সেলগুলোতে বিভিন্ন ধরনের ডেটা, ফরম্যাটিং, এবং কাস্টম স্টাইল অ্যাপ্লাই করতে পারেন। এছাড়া, Font Style, Text Alignment, Cell Background Color এবং Borders কাস্টমাইজ করে আপনি একটি পেশাদার এবং আকর্ষণীয় টেবিল তৈরি করতে পারবেন যা আপনার প্রেজেন্টেশনে ব্যবহার করা যাবে।
common.read_more