2014-02-26 82 views
4

也许这是愚蠢的问题,但我找不到解决方案 如何根据图像高度设置行高? 这里是我的代码部分:使用apache poi在excel中使行高适合图像高度

int pictureIdx = workBook.addPicture(bytes, Workbook.PICTURE_TYPE_JPEG); 
CreationHelper helper = workBook.getCreationHelper(); 
Drawing drawing = sheet.createDrawingPatriarch(); 
ClientAnchor anchor = helper.createClientAnchor(); 
anchor.setCol1(0); 
anchor.setRow1(i); 
anchor.setAnchorType(ClientAnchor.MOVE_AND_RESIZE); 
HSSFPicture pict = (HSSFPicture) drawing.createPicture(anchor, pictureIdx); 
Dimension size = pict.getImageDimension(); 
double scaledWidth = size.getWidth(); 
double procentage = (1070.0d * 100d)/scaledWidth; 
double autosize = procentage/100.0d; 
pict.resize(autosize); 
short h = (short) (pict.getImageDimension().getWidth()); 
row.setHeight(h); 
在Excel

我的形象高度比行的高度大得多

回答

2

疑问,你仍然需要这一年后,但什么它的价值,你要分配图片宽度作为行高。

short h = (short) (pict.getImageDimension().getWidth());

而且自动调用setHeight使用TWIP为单位,这是点的1/20。因此,您仍然需要将h值乘以20以上的倍数才能进入像素范围。

相关问题