Index: tika-parsers/src/main/java/org/apache/tika/parser/microsoft/ExcelExtractor.java
===================================================================
--- tika-parsers/src/main/java/org/apache/tika/parser/microsoft/ExcelExtractor.java	(revision 787661)
+++ tika-parsers/src/main/java/org/apache/tika/parser/microsoft/ExcelExtractor.java	(working copy)
@@ -32,24 +32,8 @@
 import org.apache.poi.hssf.eventusermodel.HSSFEventFactory;
 import org.apache.poi.hssf.eventusermodel.HSSFListener;
 import org.apache.poi.hssf.eventusermodel.HSSFRequest;
-import org.apache.poi.hssf.record.BOFRecord;
-import org.apache.poi.hssf.record.BoundSheetRecord;
-import org.apache.poi.hssf.record.CellValueRecordInterface;
-import org.apache.poi.hssf.record.CountryRecord;
-import org.apache.poi.hssf.record.DateWindow1904Record;
-import org.apache.poi.hssf.record.EOFRecord;
-import org.apache.poi.hssf.record.ExtendedFormatRecord;
-import org.apache.poi.hssf.record.FormatRecord;
-import org.apache.poi.hssf.record.FormulaRecord;
-import org.apache.poi.hssf.record.HyperlinkRecord;
-import org.apache.poi.hssf.record.UnicodeString;
 //import org.apache.poi.hssf.record.HyperlinkRecord;  // FIXME - requires POI release
-import org.apache.poi.hssf.record.LabelRecord;
-import org.apache.poi.hssf.record.LabelSSTRecord;
-import org.apache.poi.hssf.record.NumberRecord;
-import org.apache.poi.hssf.record.RKRecord;
-import org.apache.poi.hssf.record.Record;
-import org.apache.poi.hssf.record.SSTRecord;
+import org.apache.poi.hssf.record.*;
 import org.apache.poi.poifs.filesystem.DocumentInputStream;
 import org.apache.poi.poifs.filesystem.POIFSFileSystem;
 import org.apache.tika.sax.XHTMLContentHandler;
@@ -141,6 +125,7 @@
             hssfRequest.addListener(listener, NumberRecord.sid);
             hssfRequest.addListener(listener, RKRecord.sid);
             hssfRequest.addListener(listener, HyperlinkRecord.sid);
+            hssfRequest.addListener(listener, TextObjectRecord.sid);
         }
 
         // Create event factory and process Workbook (fire events)
@@ -298,6 +283,10 @@
                     }
                 }
                 break;
+            case TextObjectRecord.sid:
+                TextObjectRecord tor = (TextObjectRecord) record;
+                addTextCell(record, tor.getStr().getString());
+                break;
             }
         }
 
@@ -308,8 +297,11 @@
          * @param record record that holds the cell value
          * @param cell cell value (or <code>null</code>)
          */
-        private void addCell(Record record, Cell cell) {
+        private void addCell(Record record, Cell cell) throws SAXException {
             if (currentSheet == null) {
+                handler.startElement("div", "class", "outside");
+                cell.render(handler);
+                handler.endElement("div");
                 // Ignore cells outside sheets
             } else if (cell == null) {
                 // Ignore empty cells
@@ -318,6 +310,10 @@
                     (CellValueRecordInterface) record;
                 Point point = new Point(value.getColumn(), value.getRow());
                 currentSheet.put(point, cell);
+            } else {
+                handler.startElement("div", "class", "outside");
+                cell.render(handler);
+                handler.endElement("div");
             }
         }
 
@@ -328,7 +324,7 @@
          * @param record record that holds the text value
          * @param text text content, may be <code>null</code>
          */
-        private void addTextCell(Record record, String text) {
+        private void addTextCell(Record record, String text) throws SAXException {
             if (text != null) {
                 text = text.trim();
                 if (text.length() > 0) {
