Class SheetDataWriter

java.lang.Object
org.apache.poi.xssf.streaming.SheetDataWriter
All Implemented Interfaces:
Closeable, AutoCloseable
Direct Known Subclasses:
GZIPSheetDataWriter, SheetDataWriterWithDecorator

public class SheetDataWriter extends Object implements 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 Details

  • Method Details

    • createTempFile

      public File createTempFile() throws IOException
      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:
      IOException
    • createWriter

      public Writer createWriter(File fd) throws IOException
      Create a writer for the sheet data.
      Parameters:
      fd - the file to write to
      Throws:
      IOException
    • decorateOutputStream

      protected OutputStream decorateOutputStream(FileOutputStream fos) throws IOException
      Override this to translate (such as encrypt or compress) the file output stream as it is being written to disk. The default behavior is to to pass the stream through unmodified.
      Parameters:
      fos - the stream to decorate
      Returns:
      a decorated stream
      Throws:
      IOException
      See Also:
    • close

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

      protected File getTempFile()
    • getWorksheetXMLInputStream

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

      protected InputStream decorateInputStream(FileInputStream fis) throws IOException
      Override this to translate (such as decrypt or expand) the file input stream as it is being read from disk. The default behavior is to to pass the stream through unmodified.
      Parameters:
      fis - the stream to decorate
      Returns:
      a decorated stream
      Throws:
      IOException
      See Also:
    • getNumberOfFlushedRows

      public int getNumberOfFlushedRows()
    • getNumberOfCellsOfLastFlushedRow

      public int getNumberOfCellsOfLastFlushedRow()
    • getLowestIndexOfFlushedRows

      public int getLowestIndexOfFlushedRows()
    • getLastFlushedRow

      public int getLastFlushedRow()
    • finalize

      protected void finalize() throws Throwable
      Overrides:
      finalize in class Object
      Throws:
      Throwable
    • writeRow

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

      public void writeCell(int columnIndex, Cell cell) throws IOException
      Throws:
      IOException
    • outputQuotedString

      protected void outputQuotedString(String s) throws IOException
      Throws:
      IOException