Obrazy sprawiają, że rozumiesz każdą historię w łatwy sposób. To słynne powiedzenie, że obraz jest wart tysiąca słów. Microsoft Excel pozwala wstawić zdjęcia do arkuszy w komórkach i rejestrować fakty. W tym artykule pokażemy, jak używać API API APACHE POI do wstawienia obrazu do programu Excel plik XLSX za pomocą Java.

Apache Poi

Apache POI to biblioteka Java do pracy z formatami plików Microsoft Office, takimi jak XLS, XLSX, DOC, DOCX, PPT, PPTX itp. Deweloperzy aplikacji Java mogą używać go do przetwarzania dokumentów bez dostarczenia podstawowych szczegółów wewnętrznej struktury pliku o wewnętrznej strukturze pliku o wewnętrznej strukturze pliku o wewnętrznej strukturze pliku o wewnętrznej strukturze pliku o wewnętrznej strukturze pliku o wewnętrznej strukturze pliku o wartości wewnętrznej o pliku o wartości wewnętrznej o pliku o wartości wewnętrznej o pliku o wartości wewnętrznej o pliku o wartości wewnętrznej o pliku o wartości wewnętrznej o pliku o wartości wewnętrznej o pliku o wartości wewnętrznej pliku o wartości wewnętrznej te pliki.

Instalowanie Apache POI API

Zanim zaczniemy pisać kod do pracy z dokumentami Excel w naszej aplikacji Java, musimy zainstalować Apache POI w naszym systemie. W tym celu powinniśmy mieć zależności POI w naszej konfiguracji projektu. Do opracowania aplikacji APACHE POI wymagane są następujące zależności.

<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>

Więcej informacji na temat instalacji API POI do pracy z plikami Excel. Po dodaniu do projektu plik PO.xml wygląda następująco.

Jak wstawić obraz do komórki Excel za pomocą Java?

Możesz użyć biblioteki Apache Poi, aby otworzyć skoroszyt Excel w Javie i wstawić obrazy w komórce Excel za pomocą następujących kroków.

Kroki, aby dodać obraz w XLSX za pomocą Java Poi

  1. Utwórz instancję klasy XSSFworkbook
  2. Utwórz wiersz i dodaj komórki w rzędzie
  3. Załaduj obraz jako obiekt InputStream
  4. Konwertuj strumień wejściowy na tablicę bajtów
  5. Dodaj zdjęcie do skoroszytu z tablicy bajtowej za pomocą metody addpicture

Spójrzmy na pełny przykładowy kod, aby dodać obraz w komórce Excel za pomocą biblioteki 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());
}

Wniosek

W tym artykule pokazaliśmy, jak dodać obraz do skoroszytu Excel XSLX za pomocą biblioteki Apache Poi dla Java. Dodamy więcej przykładów APACHE POI do pracy z plikami Excel za pomocą API API APACHE POI. Bądźcie na bieżąco.