Example usage for org.apache.poi.xssf.streaming SXSSFWorkbook getAllPictures

List of usage examples for org.apache.poi.xssf.streaming SXSSFWorkbook getAllPictures

Introduction

In this page you can find the example usage for org.apache.poi.xssf.streaming SXSSFWorkbook getAllPictures.

Prototype

@Override
public List<? extends PictureData> getAllPictures() 

Source Link

Document

Gets all pictures from the Workbook.

Usage

From source file:info.informationsea.tableio.excel.test.ExcelImageWriterTest.java

License:Open Source License

@Test
public void testWriteImage() throws Exception {
    File buildDir = new File(System.getProperty("user.dir"), "build");
    File testOutput = new File(buildDir, "test-data");
    testOutput.mkdirs();/*from w  ww  .j a  v  a  2s. c  o  m*/

    SXSSFWorkbook workbook = new SXSSFWorkbook();
    TableWorkbookWriter workbookWriter = new ExcelWorkbookWriter(workbook);
    ImageSheetWriter imageSheetWriter = workbookWriter.createImageSheet("testsheet");
    imageSheetWriter.addImage(ExcelImageSheetWriter.ImageType.TYPE_JPEG,
            IOUtils.toByteArray(getClass().getResourceAsStream("ashinari-osaka.jpg")));
    imageSheetWriter.addImage(ExcelImageSheetWriter.ImageType.TYPE_PNG,
            IOUtils.toByteArray(getClass().getResourceAsStream("ashinari-momiji.png")));

    List<? extends PictureData> list = workbook.getAllPictures();
    for (PictureData one : list) {
        if (one.suggestFileExtension().endsWith("jpeg")) {
            Assert.assertArrayEquals(IOUtils.toByteArray(getClass().getResourceAsStream("ashinari-osaka.jpg")),
                    one.getData());
        } else if (one.suggestFileExtension().endsWith("png")) {
            Assert.assertArrayEquals(IOUtils.toByteArray(getClass().getResourceAsStream("ashinari-momiji.png")),
                    one.getData());
        } else {
            Assert.fail();
        }
    }

    try (FileOutputStream outputStream = new FileOutputStream(new File(testOutput, "image.xlsx"))) {
        workbook.write(outputStream);
    }
}