code: public function writeStringTable(array $pStringTable)
      {
          // Create XML writer
          $objWriter = null;
          if ($this->getParentWriter()->getUseDiskCaching()) {
              $objWriter = new XMLWriter(XMLWriter::STORAGE_DISK, $this->getParentWriter()->getDiskCachingDirectory());
          } else {
              $objWriter = new XMLWriter(XMLWriter::STORAGE_MEMORY);
          }
  
          // XML header
          $objWriter->startDocument('1.0', 'UTF-8', 'yes');
  
          // String table
          $objWriter->startElement('sst');
          $objWriter->writeAttribute('xmlns', 'http://schemas.openxmlformats.org/spreadsheetml/2006/main');
          $objWriter->writeAttribute('uniqueCount', count($pStringTable));
  
          // Loop through string table
          foreach ($pStringTable as $textElement) {
              $objWriter->startElement('si');
  
              if (!$textElement instanceof RichText) {
                  $textToWrite = StringHelper::controlCharacterPHP2OOXML($textElement);
                  $objWriter->startElement('t');
                  if ($textToWrite !== trim($textToWrite)) {
                      $objWriter->writeAttribute('xml:space', 'preserve');
                  }
                  $objWriter->writeRawData($textToWrite);
                  $objWriter->endElement();
              } elseif ($textElement instanceof RichText) {
                  $this->writeRichText($objWriter, $textElement);
              }
  
              $objWriter->endElement();
          }
  
          $objWriter->endElement();
  
          return $objWriter->getData();
      }
docs: Write string table to XML format.
  
  @param string[] $pStringTable
  
  @throws WriterException
  
  @return string XML Output