Class CommentsTable

java.lang.Object
org.apache.poi.ooxml.POIXMLDocumentPart
org.apache.poi.xssf.model.CommentsTable
All Implemented Interfaces:
Comments

@Internal public class CommentsTable extends POIXMLDocumentPart implements Comments
  • Field Details

  • Constructor Details

  • Method Details

    • readFrom

      public void readFrom(InputStream is) throws IOException
      Throws:
      IOException
    • writeTo

      public void writeTo(OutputStream out) throws IOException
      Throws:
      IOException
    • commit

      protected void commit() throws IOException
      Description copied from class: POIXMLDocumentPart
      Save the content in the underlying package part. Default implementation is empty meaning that the package part is left unmodified.

      Sub-classes should override and add logic to marshal the "model" into Ooxml4J.

      For example, the code saving a generic XML entry may look as follows:

       protected void commit() throws IOException {
         PackagePart part = getPackagePart();
         OutputStream out = part.getOutputStream();
         XmlObject bean = getXmlBean(); //the "model" which holds changes in memory
         bean.save(out, DEFAULT_XML_OPTIONS);
         out.close();
       }
       
      Overrides:
      commit in class POIXMLDocumentPart
      Throws:
      IOException - a subclass may throw an IOException if the changes can't be committed
    • referenceUpdated

      public void referenceUpdated(CellAddress oldReference, org.openxmlformats.schemas.spreadsheetml.x2006.main.CTComment comment)
      Called after the reference is updated, so that we can reflect that in our cache
      Parameters:
      oldReference - the comment to remove from the commentRefs map
      comment - the comment to replace in the commentRefs map
    • getNumberOfComments

      public int getNumberOfComments()
      Specified by:
      getNumberOfComments in interface Comments
    • getNumberOfAuthors

      public int getNumberOfAuthors()
      Specified by:
      getNumberOfAuthors in interface Comments
    • getAuthor

      public String getAuthor(long authorId)
      Specified by:
      getAuthor in interface Comments
    • findAuthor

      public int findAuthor(String author)
      Specified by:
      findAuthor in interface Comments
    • findCellComment

      public XSSFComment findCellComment(CellAddress cellAddress)
      Finds the cell comment at cellAddress, if one exists
      Specified by:
      findCellComment in interface Comments
      Parameters:
      cellAddress - the address of the cell to find a comment
      Returns:
      cell comment if one exists, otherwise returns null
    • getCTComment

      @Internal public org.openxmlformats.schemas.spreadsheetml.x2006.main.CTComment getCTComment(CellAddress cellRef)
      Get the underlying CTComment xmlbean for a comment located at cellRef, if it exists
      Parameters:
      cellRef - the location of the cell comment
      Returns:
      CTComment xmlbean if comment exists, otherwise return null.
    • getCellAddresses

      public Iterator<CellAddress> getCellAddresses()
      Returns all cell addresses that have comments.
      Specified by:
      getCellAddresses in interface Comments
      Returns:
      An iterator to traverse all cell addresses that have comments.
      Since:
      4.0.0
    • getCellComments

      @Removal(version="4.2") @Deprecated public Map<CellAddress,XSSFComment> getCellComments()
      Deprecated.
      use getCellAddresses instead
      Returns all cell comments on this sheet.
      Returns:
      A map of each Comment in this sheet, keyed on the cell address where the comment is located.
    • newComment

      @Internal public org.openxmlformats.schemas.spreadsheetml.x2006.main.CTComment newComment(CellAddress ref)
      Create a new comment located` at cell address
      Parameters:
      ref - the location to add the comment
      Returns:
      a new CTComment located at ref with default author
    • removeComment

      public boolean removeComment(CellAddress cellRef)
      Remove the comment at cellRef location, if one exists
      Specified by:
      removeComment in interface Comments
      Parameters:
      cellRef - the location of the comment to remove
      Returns:
      returns true if a comment was removed
    • getCTComments

      @Internal public org.openxmlformats.schemas.spreadsheetml.x2006.main.CTComments getCTComments()
      Returns the underlying CTComments list xmlbean
      Returns:
      underlying comments list xmlbean