use of org.apache.poi.hssf.eventusermodel.HSSFRequest in project poi by apache.
the class EventBasedExcelExtractor method triggerExtraction.
private TextListener triggerExtraction() throws IOException {
TextListener tl = new TextListener();
FormatTrackingHSSFListener ft = new FormatTrackingHSSFListener(tl);
tl._ft = ft;
// Register and process
HSSFEventFactory factory = new HSSFEventFactory();
HSSFRequest request = new HSSFRequest();
request.addListenerForAllRecords(ft);
factory.processWorkbookEvents(request, _dir);
return tl;
}
use of org.apache.poi.hssf.eventusermodel.HSSFRequest in project poi by apache.
the class TestAbortableListener method testAbortingBasics.
public void testAbortingBasics() throws Exception {
AbortableCountingListener l = new AbortableCountingListener(1000);
HSSFRequest req = new HSSFRequest();
req.addListenerForAllRecords(l);
HSSFEventFactory f = new HSSFEventFactory();
assertEquals(0, l.countSeen);
assertEquals(null, l.lastRecordSeen);
POIFSFileSystem fs = openSample();
short res = f.abortableProcessWorkbookEvents(req, fs);
assertEquals(0, res);
assertEquals(175, l.countSeen);
assertEquals(EOFRecord.sid, l.lastRecordSeen.getSid());
}
use of org.apache.poi.hssf.eventusermodel.HSSFRequest in project poi by apache.
the class TestChartTitleFormatRecord method testRecord.
@Test
public void testRecord() throws Exception {
NPOIFSFileSystem fs = new NPOIFSFileSystem(HSSFTestDataSamples.getSampleFile("WithFormattedGraphTitle.xls"));
// Check we can open the file via usermodel
HSSFWorkbook hssf = new HSSFWorkbook(fs);
// Now process it through eventusermodel, and
// look out for the title records
ChartTitleFormatRecordGrabber grabber = new ChartTitleFormatRecordGrabber();
InputStream din = fs.createDocumentInputStream("Workbook");
HSSFRequest req = new HSSFRequest();
req.addListenerForAllRecords(grabber);
HSSFEventFactory factory = new HSSFEventFactory();
factory.processEvents(req, din);
din.close();
// Should've found one
assertEquals(1, grabber.chartTitleFormatRecords.size());
// And it should be of something interesting
ChartTitleFormatRecord r = grabber.chartTitleFormatRecords.get(0);
assertEquals(3, r.getFormatCount());
hssf.close();
fs.close();
}
use of org.apache.poi.hssf.eventusermodel.HSSFRequest in project hutool by looly.
the class Excel03SaxReader method read.
/**
* 读取
*
* @param fs {@link POIFSFileSystem}
* @param sheetIndex sheet序号
* @return this
* @throws POIException IO异常包装
*/
public Excel03SaxReader read(POIFSFileSystem fs, int sheetIndex) throws POIException {
this.sheetIndex = sheetIndex;
formatListener = new FormatTrackingHSSFListener(new MissingRecordAwareHSSFListener(this));
final HSSFRequest request = new HSSFRequest();
if (isOutputFormulaValues) {
request.addListenerForAllRecords(formatListener);
} else {
workbookBuildingListener = new SheetRecordCollectingListener(formatListener);
request.addListenerForAllRecords(workbookBuildingListener);
}
final HSSFEventFactory factory = new HSSFEventFactory();
try {
factory.processWorkbookEvents(request, fs);
} catch (IOException e) {
throw new POIException(e);
}
return this;
}
use of org.apache.poi.hssf.eventusermodel.HSSFRequest in project jeesuite-libs by vakinge.
the class XLS2CSV method process.
/**
* Initiates the processing of the XLS file to CSV
*/
public List<String> process() throws IOException {
MissingRecordAwareHSSFListener listener = new MissingRecordAwareHSSFListener(this);
formatListener = new FormatTrackingHSSFListener(listener);
HSSFEventFactory factory = new HSSFEventFactory();
HSSFRequest request = new HSSFRequest();
if (outputFormulaValues) {
request.addListenerForAllRecords(formatListener);
} else {
workbookBuildingListener = new SheetRecordCollectingListener(formatListener);
request.addListenerForAllRecords(workbookBuildingListener);
}
factory.processWorkbookEvents(request, fs);
return results;
}
Aggregations