Вставьте изображение в Excel через JXL или POI

Я застрял во вставке изображения в файл excel. Условие: я не хочу, чтобы отображалось полноразмерное изображение. Размер изображения - обычные пиксели (1280 * 1024), но в excel я хочу отображать около 10% от него. Если кто-то дважды щелкнет по изображению, то должно отображаться полноразмерное изображение. Когда мы выходим из клетки, то она снова должна быть такого же размера (10%). Любая помощь могла бы быть полезна.

Workbook wb = new HSSFWorkbook();
   Sheet sheet = wb.createSheet("My Sample Excel");

   InputStream inputStream = new FileInputStream("C:/opt/ZZEclipseWorkspace2/WFCLAuto/ScreenShots/12_Mar_2013__09_40_22PM_192.168.30.145.jpeg");

   byte[] bytes = IOUtils.toByteArray(inputStream);

   int pictureIdx = wb.addPicture(bytes, Workbook.PICTURE_TYPE_PNG);


   inputStream.close();


   CreationHelper helper = wb.getCreationHelper();

   Drawing drawing = sheet.createDrawingPatriarch();
   ClientAnchor anchor = helper.createClientAnchor();
   //set top-left corner for the image
   anchor.setCol1(1);
   anchor.setRow1(2);

   Picture pict = drawing.createPicture(anchor, pictureIdx);
   pict.resize(0.1);

   FileOutputStream fileOut = null;
   fileOut = new FileOutputStream("C:/opt/ZZEclipseWorkspace2/WFCLAuto/ScreenShots/testing1.xls");
   wb.write(fileOut);
   fileOut.close();

person hemant    schedule 12.03.2013    source источник
comment
Это то, что вы можете сделать в Excel, когда используете его вручную?   -  person Darius X.    schedule 12.03.2013


Ответы (1)


Попробуйте установить верхний левый и нижний правый углы так, чтобы он заполнил только тот раздел, который вам нужен.

HSSFClientAnchor anchor;
anchor=new HSSFClientAnchor(0,0,0,255,(short)1,2,(short)7,10);
anchor.setAnchorType(2);

Этот код поместит изображение в прямоугольник, ограниченный углами 1,2 и углами 7,10. Однако я не уверен в добавлении возможности двойного щелчка по нему.

person Zabador    schedule 13.03.2013