* 图片位置无法获取
The only linkage I can find is that there is an EscherProperty called "BLIP__BLIPTODISPLAY", which is inside the EscherOptRecord of each image.
参考:
http://www.nabble.com/Copy-images-from-Workbook-to-Workbook-td23032425.html#a24303124
http://www.nabble.com/Get-image-binary-data-in-Excel-worksheet-with-known-filename-cell-location-td24413607.html
* 图片 binary data index 错乱问题
这是由于 Excel 中将图片删除,其后的序列不会向前推进。于是就有了一个序列的空缺,此处还是有 BSE 的,只是 Blip 为 null。而 HSSFWorkbook 中的 getAllPictures() 中为了维护 BSE 的可用性,将 Blip 为 null 的信息过滤掉了。于是造成了 index 的混乱。
参考:
http://www.nabble.com/Get-image-binary-data-in-Excel-worksheet-with-known-filename-cell-location-td24413607.html
* 图片 binary data 大量冗余
此处我改写了 PictrueData 中的 equals 方法,用以对比 blip 的 byte 数组。不过貌似不是必需的。
* 为什么图片还是对不上
由于Collection的序号是从0开始,获取到的index需要-1才能对应到正确的图片。
* 为什么是 blip 却没有 ancher
有可能图片属于某个 Graph Group 或者其他什么鬼东西,所以自己没有 ancher 只有 offset 。我实在 EscherContainerRecord 和 ShapeInfomation 中都增加 parent ,从 上层查找 ancher。
* WARNING: 78 bytes remaining but no space left
这是由于 EscherAggregate.createAggregate 时从 records 里面取出的内容比 xls 中标记的长度要短。此处通常是因为在生成 chart 之后插入图片,此时丢失了这部分图片的信息。大多数情况下删除 chart 可以重新提取到这部分信息。
* Chart 插入后的结构是怎样的
可以参考本文,这是理想中的结构,可以跳过 Chart 进行解析。但很多时候并不是这样。
http://mail-archives.apache.org/mod_mbox/poi-user/200401.mbox/%3CNFBBJLHLDKIEPKFLMKJDEEICCHAA.zalewski@optonline.net%3E
* 中文日期为什么会被处理为数字
设置了中文日期格式的不会,手动输入识别的会被识别成数字。因为其 DataFormat 识别码在英文 Excel中没有,分别是0x1f 和 0x39 ,而字符串分别是 0x1f 和 null 。需要特殊处理。
分享到:
相关推荐
POI-HSSF和POI-XSSF和SXSSF(自POI 3.8 beta3起)-用于访问Microsoft Excel格式文件
赠送jar包:poi-ooxml-3.16.jar; 赠送原API文档:poi-ooxml-3.16-javadoc.jar; 赠送源代码:poi-ooxml-3.16-sources.jar; 赠送Maven依赖信息文件:poi-ooxml-3.16.pom; 包含翻译后的API文档:poi-ooxml-3.16-...
赠送jar包:poi-ooxml-3.17.jar; 赠送原API文档:poi-ooxml-3.17-javadoc.jar; 赠送源代码:poi-ooxml-3.17-sources.jar; 赠送Maven依赖信息文件:poi-ooxml-3.17.pom; 包含翻译后的API文档:poi-ooxml-3.17-...
poi的所有jar包,poi, poi-ooxml,poi-ooxml-schemas的各个版本jar poi的所有jar包,poi, poi-ooxml,poi-ooxml-schemas的各个版本jar
赠送jar包:poi-scratchpad-4.1.2.jar; 赠送原API文档:poi-scratchpad-4.1.2-javadoc.jar; 赠送源代码:poi-scratchpad-4.1.2-sources.jar; 赠送Maven依赖信息文件:poi-scratchpad-4.1.2.pom; 包含翻译后的API...
赠送jar包:poi-scratchpad-4.1.2.jar; 赠送原API文档:poi-scratchpad-4.1.2-javadoc.jar; 赠送源代码:poi-scratchpad-4.1.2-sources.jar; 赠送Maven依赖信息文件:poi-scratchpad-4.1.2.pom; 包含翻译后的API...
赠送jar包:poi-ooxml-5.2.0.jar; 赠送原API文档:poi-ooxml-5.2.0-javadoc.jar; 赠送源代码:poi-ooxml-5.2.0-sources.jar; 赠送Maven依赖信息文件:poi-ooxml-5.2.0.pom; 包含翻译后的API文档:poi-ooxml-...
赠送jar包:poi-ooxml-4.1.2.jar; 赠送原API文档:poi-ooxml-4.1.2-javadoc.jar; 赠送源代码:poi-ooxml-4.1.2-sources.jar; 赠送Maven依赖信息文件:poi-ooxml-4.1.2.pom; 包含翻译后的API文档:poi-ooxml-...
内部包括poi-3.8-20120326.jar、poi-ooxml-3.8-20120326.jar、poi-ooxml-schemas-3.8-20120326.jar 测试可用版本,有些下载的不能用
java中读取word文档需要引用apache的poi开源项目...为方便下载提供6个jar包,其中包含:poi-3.8.jar;poi-ooxml-3.8.jar;poi-ooxml-schemas-3.8.jar;poi-scratchpad-3.8.jar;xmlbeans-2.3.0.jar;dom4j-1.6.1.jar。
poi-ooxml-***.jar中文文档.zip,java,poi-ooxml-***.jar,org.apache.poi,poi-ooxml,***,org.apache.poi.ooxml,jar包,Maven,第三方jar包,组件,开源组件,第三方组件,Gradle,apache,poi,ooxml,中文API文档,手册,开发...
excl上传 poi-ooxml-schemas-3.8,poi-3.8,poi-ooxml jar包合集
poi-3.17 对work、excel操作,包含有: poi-3.17.jar poi-ooxml-3.17.jar poi-scratchpad-3.17.jar poi-ooxml-schemas-3.17.jar commons-codec-1.10.jar commons-collections4-4.1.jar commons-logging-1.2.jar ...
poi-ooxml-***.jar中文文档.zip,java,poi-ooxml-***.jar,org.apache.poi,poi-ooxml,***,org.apache.poi.ooxml,jar包,Maven,第三方jar包,组件,开源组件,第三方组件,Gradle,apache,poi,ooxml,中文API文档,手册,开发...
poi-ooxml-***.jar中文-英文对照文档.zip,java,poi-ooxml-***.jar,org.apache.poi,poi-ooxml,***,org.apache.poi.ooxml,jar包,Maven,第三方jar包,组件,开源组件,第三方组件,Gradle,apache,poi,ooxml,中文-英文对照...
内含poi-3.17、poi-ooxml-3.17、poi-ooxml-schemas-3.17。 Apache POI项目的任务是根据Office Open XML标准(OOXML)和Microsoft的OLE 2复合文档格式(OLE2)创建和维护Java API,以处理各种文件格式。
poi-3.12-android-a.jar 和 poi-ooxml-schemas-3.12-20150511-a.jar 是Apache POI项目的特定版本的库文件,专门设计用于在Android平台上处理Microsoft Office文档,尤其是Excel文件。 poi-3.12-android-a.jar: 这是...
POI3.5-HSSF-和XSSF-Excel操作快速入门
poi-3.10.1上传组件jar包 poi-3.10.1.jar poi-ooxml-3.10.1.jar poi-ooxml-schemas-3.10.1.jar