Patch from Trejkaz from bug #43116 - Fix for Escher handling of embeded OLE2 documents

git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@566196 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Nick Burch 2007-08-15 14:40:02 +00:00
parent df10c7b072
commit 3098e0474a
5 changed files with 29 additions and 1 deletions

View File

@ -36,6 +36,7 @@
</devs>
<release version="3.0.2-FINAL" date="2007-??-??">
<action dev="POI-DEVELOPERS" type="fix">43116 - [PATCH] - Fix for Escher layer handling of embeded OLE2 documents</action>
<action dev="POI-DEVELOPERS" type="fix">43108 - [PATCH] - Where permissions deny fetching System Properties, use sensible defaults</action>
<action dev="POI-DEVELOPERS" type="fix">43093 - [PATCH] - Fix formula evaluator support for Area3D references to other sheets</action>
<action dev="POI-DEVELOPERS" type="fix">Improvements to HSSFDateUtils.isADateFormat, and have HSSFDateUtil.isCellDateFormatted use this</action>

View File

@ -33,6 +33,7 @@
<changes>
<release version="3.0.2-FINAL" date="2007-??-??">
<action dev="POI-DEVELOPERS" type="fix">43116 - [PATCH] - Fix for Escher layer handling of embeded OLE2 documents</action>
<action dev="POI-DEVELOPERS" type="fix">43108 - [PATCH] - Where permissions deny fetching System Properties, use sensible defaults</action>
<action dev="POI-DEVELOPERS" type="fix">43093 - [PATCH] - Fix formula evaluator support for Area3D references to other sheets</action>
<action dev="POI-DEVELOPERS" type="fix">Improvements to HSSFDateUtils.isADateFormat, and have HSSFDateUtil.isCellDateFormatted use this</action>

View File

@ -92,7 +92,7 @@ public class EscherBlipRecord
*/
public int getRecordSize()
{
return field_pictureData.length + 4;
return field_pictureData.length + HEADER_SIZE;
}
/**

View File

@ -0,0 +1,26 @@
package org.apache.poi.hssf.usermodel;
import java.io.File;
import java.io.FileInputStream;
import junit.framework.TestCase;
public class TestOLE2Embeding extends TestCase {
public void testEmbeding() throws Exception {
String dirname = System.getProperty("HSSF.testdata.path");
String filename = dirname + "/ole2-embedding.xls";
File file = new File(filename);
FileInputStream in = new FileInputStream(file);
HSSFWorkbook workbook;
// This used to break, until bug #43116 was fixed
workbook = new HSSFWorkbook(in);
in.close();
// Check we can get at the Escher layer still
workbook.getAllPictures();
}
}