تصاویر باعث می شود شما هر داستان را به راحتی درک کنید. این یک گفته مشهور است که یک تصویر هزار کلمه دارد. Microsoft Excel به شما امکان می دهد تصاویر را در برگه های خود در سلول ها وارد کرده و حقایق را در برابر این موارد ضبط کنید. در این مقاله ، ما نحوه استفاده از Apache POI API را برای وارد کردن یک تصویر در اکسل XLSX File با استفاده از جاوا نشان خواهیم داد.

apache poi

Apache Poi یک کتابخانه جاوا برای همکاری با قالب های پرونده Microsoft Office مانند XLS ، XLSX ، DOC ، DOCX ، PPT ، PPTX و غیره است. این پرونده ها

نصب Apache poi api

قبل از اینکه بتوانیم با نوشتن کد برای کار با اسناد اکسل در برنامه جاوا خود شروع کنیم ، باید 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>

می توانید اطلاعات بیشتری در مورد نصب POI API برای کار با پرونده های اکسل پیدا کنید. پس از افزودن به پروژه خود ، پرونده pom.xml به شرح زیر است.

چگونه می توان تصویر را در سلول اکسل با استفاده از جاوا وارد کرد؟

می توانید از کتابخانه Apache POI برای باز کردن یک کتاب کار اکسل در جاوا استفاده کنید و با استفاده از مراحل زیر تصاویر را در یک سلول اکسل وارد کنید.

مراحل اضافه کردن یک تصویر در XLSX با استفاده از Java Poi

  1. نمونه ای از کلاس xssfworkbook ایجاد کنید
  2. یک ردیف ایجاد کنید و سلول ها را در ردیف اضافه کنید
  3. تصویر را به عنوان یک شیء inputstream بارگیری کنید 4- جریان ورودی را به یک آرایه بایت تبدیل کنید 5- با استفاده از روش addpicture نمونه کتاب کار ، تصویر را از آرایه بایت اضافه کنید

اضافه کردن تصویر در اکسل با استفاده از java poi مثال

بیایید با استفاده از کتابخانه 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());
}

نتیجه گیری

در این مقاله ، ما نشان داده ایم که چگونه می توان تصویری را به یک کتاب کار اکسل XSLX با استفاده از کتابخانه Apache Poi برای جاوا اضافه کرد. ما برای کار با فایلهای اکسل با استفاده از Apache Poi API نمونه های بیشتری برای کار با فایلهای اکسل اضافه خواهیم کرد. بنابراین با ما همراه باشید.