Bilder lassen Sie jede Geschichte auf einfache Weise verstehen. Es ist ein berühmtes Sprichwort, dass ein Bild mehr als tausend Worte wert ist. Mit Microsoft Excel können Sie Bilder in Ihre Arbeitsblätter in Zellen einfügen und Fakten gegen diese aufzeichnen. In diesem Artikel zeigen wir, wie Sie mit der Apache -POI -API ein Bild in Excel XLSX -Datei mit Java einfügen.

Apache Poi

Apache POI ist eine Java -Bibliothek für die Arbeit mit Microsoft Office -Dateiformaten wie XLS, XLSX, DOC, DOCX, PPT, PPTX usw. Java -Anwendungsentwickler können sie für die Dokumentverarbeitung verwenden, ohne in die zugrunde liegenden Details der internen Dateistruktur von zu gehen diese Dateien.

APache POI API {.wp-Block-Heading} installieren}

Bevor wir mit dem Schreiben von Code für die Arbeit mit Excel -Dokumenten in unserer Java -Anwendung beginnen können, müssen wir Apache POI in unserem System installieren. Zu diesem Zweck sollten wir die POI -Abhängigkeiten in unserem Projekt -Setup zur Verfügung haben. Die folgenden Abhängigkeiten sind erforderlich, um die Apache -POI -Anwendung zu entwickeln.

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

Weitere Informationen zur Installation der POI -API 2 finden Sie für die Arbeit mit Excel -Dateien. Sobald Sie Ihrem Projekt hinzugefügt wurden, sieht die Datei pom.xml wie folgt aus.

Wie kann ich Bild mit Java in Excel Cell einfügen?

Sie können die Apache -POI -Bibliothek verwenden, um ein Excel -Arbeitsbuch in Java zu öffnen 3 und Bilder in einer Excel -Zelle mit den folgenden Schritten einfügen.

Schritte zum Hinzufügen eines Bildes in XLSX mit Java poi

  1. Erstellen Sie eine Instanz der XSSFWorkbook -Klasse
  2. Erstellen Sie eine Zeile und fügen Sie Zellen in die Zeile hinzu
  3. Laden Sie das Bild als InputStream -Objekt
  4. Konvertieren Sie den Eingangsstrom in ein Byte -Array
  5. Fügen Sie das Bild der Arbeitsmappe aus dem Byte -Array mit der addpicture**-Methode der Arbeitsbuchinstanz hinzu

Bild in Excel mit java poi Beispiel {.wp-Block-Heading} hinzufügen

Schauen wir uns den vollständigen Beispielcode an, um ein Bild in einer Excel -Zelle mit der Java POI -Bibliothek hinzuzufügen.

//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());
}

Schlussfolgerung

In diesem Artikel haben wir gezeigt, wie ein Bild mithilfe der Apache -POI -Bibliothek für Java ein Bild zu einem Excel XSLX -Arbeitsbuch hinzufügt. Wir werden weitere Apache -POI -Beispiele für die Arbeit mit Excel -Dateien mithilfe der Apache -POI -API hinzufügen. Also bleibt gespannt.