<!-- Don't forget to update status.xml too! -->
<release version="3.5-beta5" date="2008-??-??">
+ <action dev="POI-DEVELOPERS" type="fix">Hook up POIXMLTextExtractor.getMetadataTextExtractor() to the already written POIXMLPropertiesTextExtractor</action>
<action dev="POI-DEVELOPERS" type="fix">46472 - Avoid NPE in HPSFPropertiesExtractor when no properties exist</action>
<action dev="POI-DEVELOPERS" type="fix">46479 - fixed bugs related to cached formula values and HSSFFormulaEvaluator.evaluateInCell()</action>
<action dev="POI-DEVELOPERS" type="add">45031 - added implementation for CHOOSE() function</action>
<!-- Don't forget to update changes.xml too! -->
<changes>
<release version="3.5-beta5" date="2008-??-??">
+ <action dev="POI-DEVELOPERS" type="fix">Hook up POIXMLTextExtractor.getMetadataTextExtractor() to the already written POIXMLPropertiesTextExtractor</action>
<action dev="POI-DEVELOPERS" type="fix">46472 - Avoid NPE in HPSFPropertiesExtractor when no properties exist</action>
<action dev="POI-DEVELOPERS" type="fix">46479 - fixed bugs related to cached formula values and HSSFFormulaEvaluator.evaluateInCell()</action>
<action dev="POI-DEVELOPERS" type="add">45031 - added implementation for CHOOSE() function</action>
* Returns an OOXML properties text extractor for the
* document properties metadata, such as title and author.
*/
- public POITextExtractor getMetadataTextExtractor() {
- throw new RuntimeException("Not yet supported for OOXML!");
+ public POIXMLPropertiesTextExtractor getMetadataTextExtractor() {
+ return new POIXMLPropertiesTextExtractor(document);
}
}
import java.io.File;
+import org.apache.poi.xssf.extractor.XSSFExcelExtractor;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.openxml4j.opc.Package;
+import sun.awt.X11.XModifierKeymap;
+
import junit.framework.TestCase;
public class TestXMLPropertiesTextExtractor extends TestCase {
dirname = System.getProperty("OOXML.testdata.path");
assertTrue( (new File(dirname)).exists() );
}
+
+ public void testGetFromMainExtractor() throws Exception {
+ org.openxml4j.opc.Package pkg = Package.open(
+ (new File(dirname, "ExcelWithAttachments.xlsx")).toString()
+ );
+ XSSFWorkbook wb = new XSSFWorkbook(pkg);
+
+ XSSFExcelExtractor ext = new XSSFExcelExtractor(wb);
+ POIXMLPropertiesTextExtractor textExt = ext.getMetadataTextExtractor();
+
+ // Check basics
+ assertNotNull(textExt);
+ assertTrue(textExt.getText().length() > 0);
+
+ // Check some of the content
+ String text = textExt.getText();
+ String cText = textExt.getCorePropertiesText();
+
+ assertTrue(text.contains("LastModifiedBy = Yury Batrakov"));
+ assertTrue(cText.contains("LastModifiedBy = Yury Batrakov"));
+ }
public void testCore() throws Exception {
org.openxml4j.opc.Package pkg = Package.open(