package org.apache.poi.hssf.extractor;
import java.io.File;
+import java.io.FileInputStream;
+import junit.framework.TestCase;
+
+import org.apache.poi.POITextExtractor;
import org.apache.poi.hssf.HSSFXML;
+import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.hssf.usermodel.HSSFXMLWorkbook;
import org.apache.poi.hxf.HXFDocument;
-import junit.framework.TestCase;
-
/**
* Tests for HXFExcelExtractor
*/
* A fairly complex file
*/
private HSSFXML xmlB;
+
+ /**
+ * A fairly simple file - ooxml
+ */
+ private HSSFXML simpleXLSX;
+ /**
+ * A fairly simple file - ole2
+ */
+ private HSSFWorkbook simpleXLS;
protected void setUp() throws Exception {
super.setUp();
File.separator + "AverageTaxRates.xlsx"
);
+ File fileSOOXML = new File(
+ System.getProperty("HSSF.testdata.path") +
+ File.separator + "SampleSS.xlsx"
+ );
+ File fileSOLE2 = new File(
+ System.getProperty("HSSF.testdata.path") +
+ File.separator + "SampleSS.xls"
+ );
+
xmlA = new HSSFXML(HXFDocument.openPackage(fileA));
xmlB = new HSSFXML(HXFDocument.openPackage(fileB));
+
+ simpleXLSX = new HSSFXML(HXFDocument.openPackage(fileSOOXML));
+ simpleXLS = new HSSFWorkbook(new FileInputStream(fileSOLE2));
}
/**
"3\t13\t3\t2\t2\t3\t2\t"
));
}
+
+ /**
+ * Test that we return pretty much the same as
+ * ExcelExtractor does, when we're both passed
+ * the same file, just saved as xls and xlsx
+ */
+ public void BROKENtestComparedToOLE2() throws Exception {
+ HXFExcelExtractor ooxmlExtractor =
+ new HXFExcelExtractor(simpleXLSX.getPackage());
+ ExcelExtractor ole2Extractor =
+ new ExcelExtractor(simpleXLS);
+
+ POITextExtractor[] extractors =
+ new POITextExtractor[] { ooxmlExtractor, ole2Extractor };
+ for (int i = 0; i < extractors.length; i++) {
+ POITextExtractor extractor = extractors[i];
+
+ String text = extractor.getText().replace("\r", "");
+ System.out.println(text.length());
+ System.out.println(text);
+ assertTrue(text.startsWith("First Sheet\nTest spreadsheet\t\n2nd row\t2nd row 2nd column\n"));
+ assertTrue(text.endsWith("13.0\nSheet3\n"));
+
+ assertTrue(text.length() >= 214);
+ assertTrue(text.length() <= 214);
+ }
+ }
}