## org.apache.poi.xssf.eventusermodel
Class ReadOnlySharedStringsTable

    java.lang.Object
      org.xml.sax.helpers.DefaultHandler
          org.apache.poi.xssf.eventusermodel.ReadOnlySharedStringsTable

All Implemented Interfaces:
  org.xml.sax.ContentHandler, org.xml.sax.DTDHandler, org.xml.sax.EntityResolver, org.xml.sax.ErrorHandler

    public class ReadOnlySharedStringsTable

extends org.xml.sax.helpers.DefaultHandler

This is a lightweight way to process the Shared Strings table. Most of the text cells will reference something from in here.

Note that each SI entry can have multiple T elements, if the string is made up of bits with different formatting.

Example input:

    <?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
    <sst xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main" count="2" uniqueCount="2">
     <si>
       <r>
         <rPr>
           <b />
           <sz val="11" />
           <color theme="1" />
           <rFont val="Calibri" />
           <family val="2" />
           <scheme val="minor" />
         </rPr>
         <t>This:</t>
       </r>
       <r>
         <rPr>
           <sz val="11" />
           <color theme="1" />
           <rFont val="Calibri" />
           <family val="2" />
           <scheme val="minor" />
         </rPr>
         <t xml:space="preserve">Causes Problems</t>
       </r>
     </si>
     <si>
       <t>This does not</t>
     </si>
    </sst>

Constructor Summary
`ReadOnlySharedStringsTable(OPCPackage pkg)`
`ReadOnlySharedStringsTable(PackagePart part, PackageRelationship rel_ignored)` Like POIXMLDocumentPart constructor

Method Summary
`void` `characters(char[] ch, int start, int length)` Captures characters only if a t(ext) element is open.
`void` `endElement(java.lang.String uri, java.lang.String localName, java.lang.String name)`
`int` `getCount()` Return an integer representing the total count of strings in the workbook.
`java.lang.String` `getEntryAt(int idx)` Return the string at a given index.
`java.util.List<java.lang.String>` `getItems()`
`int` `getUniqueCount()` Returns an integer representing the total count of unique strings in the Shared String Table.
`void` `readFrom(java.io.InputStream is)` Read this shared strings table from an XML file.
`void` `startElement(java.lang.String uri, java.lang.String localName, java.lang.String name, org.xml.sax.Attributes attributes)`

Methods inherited from class org.xml.sax.helpers.DefaultHandler
`endDocument, endPrefixMapping, error, fatalError, ignorableWhitespace, notationDecl, processingInstruction, resolveEntity, setDocumentLocator, skippedEntity, startDocument, startPrefixMapping, unparsedEntityDecl, warning`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### ReadOnlySharedStringsTable

    public ReadOnlySharedStringsTable(OPCPackage pkg)
                               throws java.io.IOException,
                                      org.xml.sax.SAXException

Parameters:
  `pkg` -
Throws:
  `java.io.IOException`
  `org.xml.sax.SAXException`
  `javax.xml.parsers.ParserConfigurationException`

### ReadOnlySharedStringsTable

    public ReadOnlySharedStringsTable(PackagePart part,
                                      PackageRelationship rel_ignored)
                               throws java.io.IOException,
                                      org.xml.sax.SAXException

  Like POIXMLDocumentPart constructor

  Parameters:
    `part` -
    `rel_ignored` -
  Throws:
    `java.io.IOException`
    `org.xml.sax.SAXException`

Method Detail

### readFrom

    public void readFrom(java.io.InputStream is)
                  throws java.io.IOException,
                         org.xml.sax.SAXException

  Read this shared strings table from an XML file.

  Parameters:
    `is` - The input stream containing the XML document.
  Throws:
    `java.io.IOException` - if an error occurs while reading.
    `org.xml.sax.SAXException`
    `javax.xml.parsers.ParserConfigurationException`

### getCount

    public int getCount()

  Return an integer representing the total count of strings in the workbook. This count does not include any numbers, it counts only the total of text strings in the workbook.

  Returns:
    the total count of strings in the workbook

### getUniqueCount

    public int getUniqueCount()

  Returns an integer representing the total count of unique strings in the Shared String Table. A string is unique even if it is a copy of another string, but has different formatting applied at the character level.

  Returns:
    the total count of unique strings in the workbook

### getEntryAt

    public java.lang.String getEntryAt(int idx)

  Return the string at a given index. Formatting is ignored.

  Parameters:
    `idx` - index of item to return.
  Returns:
    the item at the specified position in this Shared String table.

### getItems

    public java.util.List<java.lang.String> getItems()

### startElement

    public void startElement(java.lang.String uri,
                             java.lang.String localName,
                             java.lang.String name,
                             org.xml.sax.Attributes attributes)
                      throws org.xml.sax.SAXException

  Specified by:
    `startElement` in interface `org.xml.sax.ContentHandler`
  Overrides:
    `startElement` in class `org.xml.sax.helpers.DefaultHandler`
  Throws:
    `org.xml.sax.SAXException`

### endElement

    public void endElement(java.lang.String uri,
                           java.lang.String localName,
                           java.lang.String name)
                    throws org.xml.sax.SAXException

  Specified by:
    `endElement` in interface `org.xml.sax.ContentHandler`
  Overrides:
    `endElement` in class `org.xml.sax.helpers.DefaultHandler`
  Throws:
    `org.xml.sax.SAXException`

### characters

    public void characters(char[] ch,
                           int start,
                           int length)
                    throws org.xml.sax.SAXException

  Captures characters only if a t(ext) element is open.

  Specified by:
    `characters` in interface `org.xml.sax.ContentHandler`
  Overrides:
    `characters` in class `org.xml.sax.helpers.DefaultHandler`
  Throws:
    `org.xml.sax.SAXException`

Copyright 2012 The Apache Software Foundation or its licensors, as applicable.