- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正在使用 Apache POI-HSSF 将图片添加到单元格中。图片为 120x100,但无论我做什么以及如何调整它的大小,Excel 电子表格总是显示它跨越多行并将其扭曲到比宽度大得多的高度。
如何保持原始尺寸?
我的代码:
InputStream is = new FileInputStream(getImageURL());
byte[] bytes = IOUtils.toByteArray(is);
int pictureIdx = wb.addPicture(bytes, Workbook.PICTURE_TYPE_JPEG);
is.close();
//add a picture shape
CreationHelper helper = wb.getCreationHelper();
ClientAnchor anchor = helper.createClientAnchor();
// Create the drawing patriarch. This is the top level container for all shapes.
Drawing drawing = sheet1.createDrawingPatriarch();
//set top-left corner of the picture,
//subsequent call of Picture#resize() will operate relative to it
anchor.setAnchorType(0);
anchor.setCol1(1);
anchor.setRow1(1);
Picture pict = drawing.createPicture(anchor, pictureIdx);
//auto-size picture relative to its top-left corner
pict.resize();
我已经尝试了所有的 dx/dy 坐标和 Col/Row。位置无关紧要,问题在于水平拉伸(stretch)图像。
最佳答案
我曾遇到过类似的问题,即我添加的图片失真了。我尝试了 pict.resize() 和 sheet.autoSizeColumn() 但它没有用。最后我找到了以下网址:- https://svn.apache.org/repos/asf/poi/trunk/src/examples/src/org/apache/poi/examples/ss/AddDimensionedImage.java
我将上面的类添加到我的代码中,并使用它的方法将图像添加到 excel 中。我能够添加几乎没有失真的图像。希望这对你也有帮助。我写了下面的代码:-
BufferedImage imageIO = ImageIO.read(new URL(image));
int height= imageIO.getHeight();
int width=imageIO.getWidth();
int relativeHeight=(int)(((double)height/width)*28.5);
new AddDimensionedImage().addImageToSheet(2, sheet.getPhysicalNumberOfRows()-1 , sheet, sheet.createDrawingPatriarch(),new URL(image), 30, relativeHeight, AddDimensionedImage.EXPAND_ROW);
关于java - Apache POI-HSSF 在将图片添加到 Excel 单元格时扭曲图像大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16181674/
在我使用 jasperreports-3.7.4 jar 以 Excel 格式下载 Jasper Reports 之前。现在我正在尝试升级到 jasperreports-6.3.1 jar。但它在调用
我在将报告导出为 XLS 时遇到了一些问题。导出为 PDF 效果很好。 所以我尝试更新到最新的 JasperReports 和 Apache POI 版本: JasperReports:5.5.0 兴
sheet.setColumnWidth(13,(short)0); 完全不同 row.removeCell(13); 也不起作用。 我应该使用什么来实现这个目标?(删除单元格) 最佳答案 如果要清除
我正在开发将 excel 工作表内容转储到数据库的实用程序(在我的例子中是 postgres 9.2),当所有单元格都已填满时,应用程序运行非常顺利,但每当我尝试在 excel 上运行我的代码时有空单
我正在开发一个写入 Excel 文件的项目。我正在使用 HSSF POI。我的代码在写入 Excel 文件时工作正常,但是我在格式方面遇到问题。我想让每一列都有特定的宽度。我为此进行了研究,并且确信我
我在打开包含数百/数千行数据的 excel 文件时遇到问题,“不同的单元格格式太多” 有关错误的更多信息 http://excelzoom.com/2009/09/the-mystery-of-exc
我正在处理用户给定的 Excel 文件 (.xls) 并使用 Apache poi HSSF 来读取工作表。 Excel 实际包含 16 行。 第 13 行是空的。 第 14 行有数据 第 15 行为
有什么方法可以在 Apache POI 中编写具有“垂直”文本方向的单元格吗?我只能找到一个方法 setRotation 来旋转整个文本,而不是像 Excel 在应用“垂直”选项时显示它一样。从视觉上
我与 POI 合作,想要制作可打印的报告。一切都很好,但我需要获取动态生成的 .xls 的总页数(A4 格式的页面)。当使用 HeaderFooter.numPages() 时,我得到的不是总页数,而
My data is stored in a format(look down): [-] means a blank cell, on the right may be only 10 column
尝试使用 MS Office 2003 打开 Excel 工作表时遇到错误。此 Excel 工作表是使用 HSSFWorkbook 创建的,实现了 usermodel 范围 org.apache.po
这个问题已经有答案了: 已关闭10 年前。 Possible Duplicate: How to insert a row between two rows in an existing excel
我正在尝试根据测试用例执行状态格式化单元格背景颜色,例如如果测试用例通过,则单元格背景应变为绿色,文本颜色应为白色. 同样,失败的测试用例单元格背景颜色:红色和文本颜色:白色 为此,我尝试了以下脚本。
当我尝试使用 MS Office 2003 打开 Excel 工作表时出现错误。此 Excel 工作表是使用实现 usermodel 范围的 HSSFWorkbook 创建的org.apache.po
我有一个包含类似这样的行的电子表格 SomeText1 SomeText2 SomeText3 Tommy Tommy John Gilaen Tamara Shaz
我有一个 Excel 文件,其中包含以下数据类型 字符串、 boolean 值、数字的值 和字母数字。使用 HSSF poi ,我提取了相同的内容。 cell.getStringCellValue()
我正在尝试根据关键字过滤电子表格。然后我想将行存储在多维字符串数组(单元格值和行)中。我似乎不太能让每个单元格成为一个单独的元素。所有数组中的所有单元格都将添加到一个数组中: 这是代码: ////Ad
使用Java和Hssf获取Excel数据,如何检查单元格是否加粗?我正在迭代 Excel 工作簿的所有工作表、所有行和所有单元格。如果单元格加粗,我想执行一个操作。 //Iterate through
使用从电子表格中提取的已知公式,是否可以在不将公式驻留在实际单元格中的情况下应用/评估该公式? 我想可以在工作表上创建/定位一个空白单元格(有人知道如何有效地完成此操作吗?)并以此方式计算公式,但是否
在为数字着色时(正数为黑色,负数为红色),我通常使用以下代码片段: style.setDataFormat(format.getFormat("[Green]#,##0;[Red]#,##0"));
我是一名优秀的程序员,十分优秀!