You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tika.apache.org by ju...@apache.org on 2008/03/26 20:06:56 UTC
svn commit: r641487 -
/incubator/tika/trunk/src/main/java/org/apache/tika/parser/microsoft/ExcelExtractor.java
Author: jukka
Date: Wed Mar 26 12:06:41 2008
New Revision: 641487
URL: http://svn.apache.org/viewvc?rev=641487&view=rev
Log:
TIKA-132: Refactor Excel extractor to parse per sheet and add hyperlink support
- Merged the two sid case statements to one
Modified:
incubator/tika/trunk/src/main/java/org/apache/tika/parser/microsoft/ExcelExtractor.java
Modified: incubator/tika/trunk/src/main/java/org/apache/tika/parser/microsoft/ExcelExtractor.java
URL: http://svn.apache.org/viewvc/incubator/tika/trunk/src/main/java/org/apache/tika/parser/microsoft/ExcelExtractor.java?rev=641487&r1=641486&r2=641487&view=diff
==============================================================================
--- incubator/tika/trunk/src/main/java/org/apache/tika/parser/microsoft/ExcelExtractor.java (original)
+++ incubator/tika/trunk/src/main/java/org/apache/tika/parser/microsoft/ExcelExtractor.java Wed Mar 26 12:06:41 2008
@@ -265,50 +265,38 @@
// }
// break;
- default:
- if (insideWorksheet
- && record instanceof CellValueRecordInterface) {
- CellValueRecordInterface value =
- (CellValueRecordInterface) record;
- addCell(record, getCellValue(record.getSid(), value));
- }
- break;
- }
- }
-
- /**
- * Process a Cell Value record.
- *
- * @param sid record type identifier
- * @param record The cell value record
- */
- private Cell getCellValue(
- short sid, CellValueRecordInterface record)
- throws SAXException {
- switch (sid) {
/* FormulaRecord: Cell value from a formula */
case FormulaRecord.sid:
- return new NumberCell(((FormulaRecord) record).getValue());
+ FormulaRecord formula = (FormulaRecord) record;
+ addCell(record, new NumberCell(formula.getValue()));
+ break;
/* LabelRecord: strings stored directly in the cell */
case LabelRecord.sid:
- return getTextCell(((LabelRecord) record).getValue());
+ LabelRecord label = (LabelRecord) record;
+ addCell(record, getTextCell(label.getValue()));
+ break;
/* LabelSSTRecord: Ref. a string in the shared string table */
case LabelSSTRecord.sid:
LabelSSTRecord labelSSTRecord = (LabelSSTRecord) record;
int sstIndex = labelSSTRecord.getSSTIndex();
- return getTextCell(sstRecord.getString(sstIndex).getString());
+ String sstLabel = sstRecord.getString(sstIndex).getString();
+ addCell(record, getTextCell(sstLabel));
+ break;
/* NumberRecord: Contains a numeric cell value */
case NumberRecord.sid:
- return new NumberCell(((NumberRecord) record).getValue());
+ NumberRecord number = (NumberRecord) record;
+ addCell(record, new NumberCell(number.getValue()));
+ break;
/* RKRecord: Excel internal number record */
case RKRecord.sid:
- return new NumberCell(((RKRecord)record).getRKNumber());
+ RKRecord rk = (RKRecord) record;
+ addCell(record, new NumberCell(rk.getRKNumber()));
+ break;
}
- return null;
}
/**