Изображения заставляют вас понять любую историю простым способом. Это знаменитая поговорка, что картина стоит тысячи слов. Microsoft Excel позволяет вам вставлять картины в ваши листы в ячейках и записывать факты против них. В этой статье мы покажем, как использовать API Apache POI, чтобы вставить изображение в Excel XLSX File с использованием Java.

apache poi

Apache Poi - это библиотека Java для работы с форматами файлов Microsoft Office, такими как XLS, XLSX, DOC, DOCX, PPT, PPTX и т. Д. Разработчики приложений Java могут использовать его для обработки документов, не попадая в основные данные внутренней структуры файла эти файлы.

Установка Apache Poi api {.wp-block heading}

Прежде чем мы сможем начать с написания кода для работы с документами 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>

Вы можете найти больше информации о установке POI API для работы с файлами Excel. После добавления в ваш проект файл pom.xml выглядит следующим образом.

Как вставить изображение в ячейку Excel с помощью Java?

Вы можете использовать библиотеку Apache POI, чтобы открыть рабочую книгу Excel в Java и вставить изображения в ячейку Excel, используя следующие шаги.

Шаги, чтобы добавить изображение в XLSX, используя Java Poi {.wp-Block heading}

  1. Создайте экземпляр класса XSSFWorkBook
  2. Создайте строку и добавьте ячейки в ряд
  3. Загрузите изображение в качестве объекта InputStream
  4. Преобразование входного потока в массив байтов
  5. Добавьте изображение в рабочую книгу из байтового массива, используя Addpicture метод экземпляра рабочей книги

Добавить изображение в Excel с использованием Java POI пример {.wp-block heading}

Давайте посмотрим на полный пример кода, чтобы добавить изображение в ячейку 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());
}

Заключение {.wp-block heading}

В этой статье мы показали, как добавить изображение в рабочую книгу Excel XSLX, используя библиотеку Apache Poi для Java. Мы добавим больше примеров Apache POI для работы с файлами Excel, используя API Apache POI. Так что следите за обновлениями.