code: public function writeComments(\PhpOffice\PhpSpreadsheet\Worksheet\Worksheet $pWorksheet)
      {
          // 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');
  
          // Comments cache
          $comments = $pWorksheet->getComments();
  
          // Authors cache
          $authors = [];
          $authorId = 0;
          foreach ($comments as $comment) {
              if (!isset($authors[$comment->getAuthor()])) {
                  $authors[$comment->getAuthor()] = $authorId++;
              }
          }
  
          // comments
          $objWriter->startElement('comments');
          $objWriter->writeAttribute('xmlns', 'http://schemas.openxmlformats.org/spreadsheetml/2006/main');
  
          // Loop through authors
          $objWriter->startElement('authors');
          foreach ($authors as $author => $index) {
              $objWriter->writeElement('author', $author);
          }
          $objWriter->endElement();
  
          // Loop through comments
          $objWriter->startElement('commentList');
          foreach ($comments as $key => $value) {
              $this->writeComment($objWriter, $key, $value, $authors);
          }
          $objWriter->endElement();
  
          $objWriter->endElement();
  
          // Return
          return $objWriter->getData();
      }
docs: Write comments to XML format.
  
  @param \PhpOffice\PhpSpreadsheet\Worksheet\Worksheet $pWorksheet
  
  @throws \PhpOffice\PhpSpreadsheet\Writer\Exception
  
  @return string XML Output