Class SheetDataWriter

  • All Implemented Interfaces:
    java.io.Closeable, java.lang.AutoCloseable
    Direct Known Subclasses:
    GZIPSheetDataWriter, SheetDataWriterWithDecorator, StreamingSheetWriter

    public class SheetDataWriter
    extends java.lang.Object
    implements java.io.Closeable
    Initially copied from BigGridDemo "SpreadsheetWriter". Unlike the original code which wrote the entire document, this class only writes the "sheetData" document fragment so that it was renamed to "SheetDataWriter"
    • Constructor Detail

      • SheetDataWriter

        public SheetDataWriter()
                        throws java.io.IOException
        Throws:
        java.io.IOException
      • SheetDataWriter

        public SheetDataWriter​(java.io.Writer writer)
                        throws java.io.IOException
        Throws:
        java.io.IOException
      • SheetDataWriter

        public SheetDataWriter​(SharedStringsTable sharedStringsTable)
                        throws java.io.IOException
        Throws:
        java.io.IOException
    • Method Detail

      • createTempFile

        @Removal(version="6.0.0")
        public java.io.File createTempFile()
                                    throws java.io.IOException
        Deprecated.
        Create a temp file to write sheet data. By default, temp files are created in the default temporary-file directory with a prefix "poi-sxssf-sheet" and suffix ".xml". Subclasses can override it and specify a different temp directory or filename or suffix, e.g. .gz
        Returns:
        temp file to write sheet data
        Throws:
        java.io.IOException
      • createWriter

        @Removal(version="6.0.0")
        public java.io.Writer createWriter​(java.io.File fd)
                                    throws java.io.IOException
        Deprecated.
        this method is due to be made non-public, probably protected
        Create a writer for the sheet data.
        Parameters:
        fd - the file to write to
        Throws:
        java.io.IOException
      • close

        public void close()
                   throws java.io.IOException
        flush and close the temp data writer. This method must be invoked before calling getWorksheetXMLInputStream()
        Specified by:
        close in interface java.lang.AutoCloseable
        Specified by:
        close in interface java.io.Closeable
        Throws:
        java.io.IOException
      • getWorksheetXMLInputStream

        public java.io.InputStream getWorksheetXMLInputStream()
                                                       throws java.io.IOException
        Returns:
        a stream to read temp file with the sheet data
        Throws:
        java.io.IOException
      • getNumberOfFlushedRows

        public int getNumberOfFlushedRows()
      • getNumberOfCellsOfLastFlushedRow

        public int getNumberOfCellsOfLastFlushedRow()
      • getLowestIndexOfFlushedRows

        public int getLowestIndexOfFlushedRows()
      • getLastFlushedRow

        public int getLastFlushedRow()
      • writeRow

        public void writeRow​(int rownum,
                             SXSSFRow row)
                      throws java.io.IOException
        Write a row to the file
        Parameters:
        rownum - 0-based row number
        row - a row
        Throws:
        java.io.IOException - If an I/O error occurs
      • writeCell

        public void writeCell​(int columnIndex,
                              Cell cell)
                       throws java.io.IOException
        Throws:
        java.io.IOException