মাইক্রোসফ্ট এক্সেল স্প্রেডশীটের জন্য ওপেন সোর্স জাভা API
ওপেন সোর্স API-এর মাধ্যমে জাভা অ্যাপ্লিকেশানগুলিতে Microsoft Excel স্প্রেডশীট ফাইলগুলি তৈরি করুন, পড়ুন, সম্পাদনা করুন এবং রূপান্তর করুন৷
ফাস্টএক্সেল কি?
বড় এক্সেল ফাইলগুলির সাথে কাজ করা সফ্টওয়্যার প্রোগ্রামারদের জন্য সর্বদা একটি বড় চ্যালেঞ্জ এবং এটি পরিচালনা করার জন্য উচ্চ স্তরের দক্ষতা এবং সংস্থানগুলির প্রয়োজন৷ ফাস্টএক্সেল হল একটি অত্যন্ত শক্তিশালী ওপেন সোর্স জাভা এক্সেল লাইব্রেরি যা সফটওয়্যার ডেভেলপারদের তাদের নিজস্ব জাভা অ্যাপ্লিকেশনের মধ্যে Microsoft Excel XLSX ওয়ার্কবুক তৈরি করতে এবং পড়তে দেয়। এটি ডেভেলপারদের কোন বাহ্যিক নির্ভরতা ছাড়াই বড় এক্সেল ফাইলের সাথে কাজ করতে সাহায্য করে।
ফাস্টএক্সেল ব্যবহার করা খুবই সহজ এবং শুধুমাত্র প্রয়োজনীয় উপাদান জমা করে মেমরির পদচিহ্ন এবং উচ্চ কার্যক্ষমতা হ্রাস করে। এটি স্প্রেডশীটগুলির সাথে কাজ করার জন্য বেশ কয়েকটি গুরুত্বপূর্ণ বৈশিষ্ট্য অন্তর্ভুক্ত করেছে যেমন সাধারণ ওয়ার্কবুক তৈরি করা, স্টাইল প্রয়োগ করা এবং কক্ষ, কলাম এবং সারিগুলিতে বিন্যাস করা, বিভিন্ন কক্ষে শৈলী সেট করা, ঘর এবং সারিগুলিকে একত্রিত করা, বিকল্প সারিগুলি ছায়া করা, কাগজের আকার সেট করা এবং পৃষ্ঠার অভিযোজন। , পৃষ্ঠা মার্জিন সেট করুন, একটি ফ্রিজ প্যান তৈরি করুন এবং আরও অনেক কিছু।
ফাস্টএক্সেল মাল্টিথ্রেডিংয়ের জন্য সম্পূর্ণ সমর্থন প্রদান করে যার অর্থ ওয়ার্কবুকের প্রতিটি ওয়ার্কশীট একটি ভিন্ন থ্রেড দ্বারা তৈরি করা যেতে পারে, যখন ভাগ করা স্ট্রিং এবং শৈলীকে সম্পূর্ণরূপে সমর্থন করে। FastExcel রিডার খুবই দক্ষ এবং শুধুমাত্র কক্ষের বিষয়বস্তু পড়তে পারে এবং শৈলী, গ্রাফ এবং অন্যান্য জিনিস বাতিল করে দেয়।
FastExcel দিয়ে শুরু করা
FastExcel লাইব্রেরিতে Java 8+ প্রয়োজন। মাভেন দিয়ে তৈরি করুন। আপনার POM এ নিম্নলিখিত নির্ভরতা অন্তর্ভুক্ত করুন
ফাস্টএক্সেল মাভেন নির্ভরতা
<dependency>
<groupId> org.dhatim</groupId>
<artifactId>fastexcel</artifactId>
<version>0.12.13</version>
</dependency>
এছাড়াও আপনি GitHub সংগ্রহস্থল থেকে সংকলিত শেয়ার্ড লাইব্রেরি ডাউনলোড করতে পারেন এবং এটি ইনস্টল করতে পারেন৷
জাভা API এর মাধ্যমে এক্সেল XLSX ফাইল তৈরি করুন
ওপেন সোর্স FastExcel লাইব্রেরি সফটওয়্যার ডেভেলপারদের জাভা কোডের মাত্র কয়েকটি লাইন দিয়ে এক্সেল XLSX ফাইল তৈরি করতে দেয়। একটি নতুন ওয়ার্কবুক যোগ করা এবং বিভিন্ন ওয়ার্কশীট যোগ করা, ওয়ার্কশীটের ভিতরে সেল এবং সারি সন্নিবেশ করা খুবই সহজ। লাইব্রেরি পাঠ্য বিন্যাস এবং স্টাইলিং সম্পর্কিত বেশ কয়েকটি বৈশিষ্ট্যকে সমর্থন করে যেমন ঘরের শৈলী পরিবর্তন করা, ঘরের একটি পরিসরে শৈলী সেট করা, বিকল্প সারি ছায়া করা, কাগজের আকার সেট করা এবং পৃষ্ঠার অভিযোজন ইত্যাদি।
জাভা লাইব্রেরির মাধ্যমে নতুন এক্সেল ফাই তৈরি করুন
package com.zetcode;
import org.dhatim.fastexcel.Workbook;
import org.dhatim.fastexcel.Worksheet;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.List;
public class FastExcelSimpleWrite {
public static void main(String[] args) throws IOException {
var words = List.of("sky", "blue", "work", "falcon");
int row = 0;
int col = 0;
var f = new File("/home/janbodnar/tmp/words.xlsx");
try (var fos = new FileOutputStream(f)) {
var wb = new Workbook(fos, "Application", "1.0");
Worksheet ws = wb.newWorksheet("Sheet 1");
for (var word : words) {
ws.value(row, col, word);
row++;
}
wb.finish();
}
}
}
Java API এর মাধ্যমে এক্সেল XLSX ফাইল পড়ুন
ফাস্টএক্সেল লাইব্রেরি একটি অত্যন্ত শক্তিশালী পাঠক সরবরাহ করেছে যা ব্যবহারকারীদের সহজে একটি এক্সেল ওয়ার্কবুক খুলতে এবং পড়তে দেয়। এটি Apache POI-এর একটি স্ট্রিমিং বিকল্প কিন্তু Apache POI-এর তুলনায় এটি পরিচালনা করা খুবই সহজ এবং এর চেয়ে 10 গুণ দ্রুত। এটি শুধুমাত্র কক্ষের বিষয়বস্তু পড়তে পারে এবং শৈলী, গ্রাফ এবং অন্যান্য অনেক জিনিস বাতিল করে। নিম্নলিখিত উদাহরণটি দেখায় কিভাবে একটি ওয়ার্কবুক খুলতে হয় এবং জাভা ব্যবহার করে স্ট্রিমিং উপায়ে সমস্ত সারি পড়তে হয়।
জাভার মাধ্যমে স্ট্রিমিং উপায়ে ওয়ার্কবুক সারি খুলুন এবং পড়ুন
try (InputStream is = ...; ReadableWorkbook wb = new ReadableWorkbook(is)) {
Sheet sheet = wb.getFirstSheet();
try (Stream rows = sheet.openStream()) {
rows.forEach(r -> {
BigDecimal num = r.getCellAsNumber(0).orElse(null);
String str = r.getCellAsString(1).orElse(null);
LocalDateTime date = r.getCellAsDate(2).orElse(null);
});
}
}
FastExcel` এর মাধ্যমে মাল্টিথ্রেডেড স্প্রেডশীট জেনারেশন
মাল্টিথ্রেডিং হল একটি সেন্ট্রাল প্রসেসিং ইউনিট (সিপিইউ) এর ক্ষমতা যা অপারেটিং সিস্টেম দ্বারা সমর্থিত একযোগে একাধিক থ্রেড প্রদান করে। কম্পিউটারে একাধিক প্রসেসর বা প্রসেসর কোর থাকলে, অপারেটিং সিস্টেম সবচেয়ে কার্যকর উপায়ে প্রসেসরগুলিতে থ্রেড বরাদ্দ করার দায়িত্ব নেয়। ওপেন সোর্স ফাস্টএক্সেল লাইব্রেরি সম্পূর্ণরূপে মাল্টিথ্রেডেড জেনারেশনকে সমর্থন করে এবং জাভা কোড ব্যবহার করে প্রতিটি ওয়ার্কশিটকে একটি ভিন্ন থ্রেড তৈরি করে।
জাভা API এর মাধ্যমে মাল্টিথ্রেডিং পরিবেশে স্প্রেডশীট তৈরি করুন
try (OutputStream os = ...) {
Workbook wb = new Workbook(os, "MyApplication", "1.0");
Worksheet ws1 = wb.newWorksheet("Sheet 1");
Worksheet ws2 = wb.newWorksheet("Sheet 2");
CompletableFuture cf1 = CompletableFuture.runAsync(() -> {
// Fill worksheet 1
...
});
CompletableFuture cf2 = CompletableFuture.runAsync(() -> {
// Fill worksheet 2
...
});
CompletableFuture.allOf(cf1, cf2).get();
wb.finish();
}