Как мне написать изображение в xls с нестандартным размером, используя Java и Apache POI

1

Как написать изображение с настраиваемым размером в xls с использованием Java и Apache POI? Это мой код. Он отображает данное изображение с размером по умолчанию, но мне нужно настроить размер.

Workbook wb = new XSSFWorkbook();
Sheet sheet = wb.createSheet("My Sample Excel");
InputStream inputStream = new FileInputStream("images/myLogo.png");
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();
anchor.setCol1(1);
anchor.setRow1(2);
Picture pict = drawing.createPicture(anchor, pictureIdx);
pict.resize();
FileOutputStream fileOut = null;
fileOut = new FileOutputStream("data/myFile.xlsx");
wb.write(fileOut);
fileOut.close();

Благодарю.

Теги:
apache-poi

1 ответ

1

Попробуйте запустить их перед вызовом drawing.createPicture:

anchor.setAnchorType(ClientAnchor.MOVE_AND_RESIZE);
anchor.setCol2(X);
anchor.setRow2(Y);
  • 0
    выше не работал. мой код: Workbook wb = new HSSFWorkbook (); CreationHelper helper = wb.getCreationHelper (); Sheet sheet2 = wb.createSheet ("изображение листа"); Drawing drawing2 = sheet2.createDrawingPatriarch (); ClientAnchor anchor2 = helper.createClientAnchor (); anchor2.setCol1 (1); anchor2.setRow1 (1); anchor2.setAnchorType (ClientAnchor.MOVE_AND_RESIZE); anchor2.setCol2 (20); anchor2.setRow2 (20); Picture pict2 = drawing2.createPicture (anchor2, pictureIdx); pict2.resize ();
  • 0
    я получил решение, удалив метод resize (). ===== спасибо

Ещё вопросы

Сообщество Overcoder
Наверх
Меню