الصور تجعلك تفهم أي قصة بالطريقة السهلة. إنه قول مشهور أن الصورة تساوي ألف كلمة. تتيح لك Microsoft Excel إدراج الصور في أوراق العمل الخاصة بك في الخلايا وتسجيل حقائق ضد هذه. في هذه المقالة ، سنعرض كيفية استخدام Apache POI API لإدخال صورة في Excel ملف XLSX باستخدام Java.
Apache poi
Apache POI هي مكتبة Java للعمل مع تنسيقات ملفات Microsoft Office مثل XLS و XLSX و DOC و DOCX و PPT و PPTX ، إلخ هذه الملفات.
تثبيت Apache POI API
قبل أن نتمكن من البدء بكتابة رمز للعمل مع مستندات Excel في تطبيق Java الخاص بنا ، نحتاج إلى تثبيت Apache POI على نظامنا. لهذا الغرض ، يجب أن يكون لدينا تبعيات POI متاحة في إعداد مشروعنا. التبعيات التالية مطلوبة لتطوير تطبيق Apache POI.
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>4.0.1</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>4.0.1</version>
</dependency>
يمكنك العثور على مزيد من المعلومات حول تثبيت API POI للعمل مع ملفات Excel. بمجرد إضافته إلى مشروعك ، يبدو ملف pom.xml على النحو التالي.
كيفية إدخال الصورة في خلية Excel باستخدام Java؟
يمكنك استخدام مكتبة Apache POI لـ فتح مصنف Excel في Java وإدراج الصور في خلية Excel باستخدام الخطوات التالية.
خطوات لإضافة صورة في XLSX باستخدام Java Poi
- قم بإنشاء مثيل من فئة XSSFWorkbook
- قم بإنشاء صف وإضافة خلايا في الصف
- قم بتحميل الصورة ككائن InportStream
- قم بتحويل دفق الإدخال إلى صفيف بايت
- أضف الصورة إلى المصنف من صفيف البايت باستخدام طريقة AddPicture لمثيل المصنف
أضف صورة في Excel باستخدام مثال Java POI
دعونا نلقي نظرة على رمز العينة الكامل لإضافة صورة في خلية Excel باستخدام مكتبة Java POI.
//create a new workbook
XSSFWorkbook wb = new XSSFWorkbook(); //or new HSSFWorkbook();
//add picture data to this workbook.
FileInputStream is = new FileInputStream("FileFormat.png");
byte[] bytes = IOUtils.toByteArray(is);
int pictureIdx = wb.addPicture(bytes, Workbook.PICTURE_TYPE_PNG);
is.close();
XSSFCreationHelper helper = wb.getCreationHelper();
//create sheet
XSSFSheet sheet = wb.createSheet();
// Create the drawing patriarch. This is the top level container for all shapes.
Drawing drawing = sheet.createDrawingPatriarch();
//add a picture shape
XSSFClientAnchor anchor = helper.createClientAnchor();
//set top-left corner of the picture,
//subsequent call of Picture#resize() will operate relative to it
anchor.setCol1(3);
anchor.setRow1(2);
Picture pict = drawing.createPicture(anchor, pictureIdx);
//auto-size picture relative to its top-left corner
pict.resize();
//save workbook
String file = "picture.xls";
if(wb instanceof XSSFWorkbook) file += "x";
try (FileOutputStream fileOut = new FileOutputStream(file)) {
wb.write(fileOut);
wb.close();
}
catch(Exception ex)
{
System.out.println(ex.getMessage());
}
الخاتمة
في هذه المقالة ، أظهرنا كيفية إضافة صورة إلى مصنف Excel XSLX باستخدام مكتبة Apache POI لـ Java. سنضيف المزيد من أمثلة Apache POI للعمل مع ملفات Excel باستخدام Apache POI API. ابقي على اتصال.