adams.data.io.output
Class ExcelStreamingSpreadSheetWriter

java.lang.Object
  extended by adams.core.ConsoleObject
      extended by adams.core.option.AbstractOptionHandler
          extended by adams.data.io.output.AbstractSpreadSheetWriter
              extended by adams.data.io.output.AbstractMultiSheetSpreadSheetWriter
                  extended by adams.data.io.output.AbstractMultiSheetSpreadSheetWriterWithMissingValueSupport
                      extended by adams.data.io.output.ExcelStreamingSpreadSheetWriter
All Implemented Interfaces:
Debuggable, Destroyable, OptionHandler, SizeOfHandler, MultiSheetSpreadSheetWriter, SpreadSheetWriter, SpreadSheetWriterWithFormulaSupport, Serializable

public class ExcelStreamingSpreadSheetWriter
extends AbstractMultiSheetSpreadSheetWriterWithMissingValueSupport
implements SpreadSheetWriterWithFormulaSupport

Writes OOXML MS Excel files in streaming mode (more memory efficient).

Valid options are:

-D <int> (property: debugLevel)
    The greater the number the more additional info the scheme may output to 
    the console (0 = off).
    default: 0
    minimum: 0
 
-sheet-prefix <java.lang.String> (property: sheetPrefix)
    The prefix for sheet names.
    default: Sheet
 
-missing <java.lang.String> (property: missingValue)
    The placeholder for missing values.
    default: 
 
-output-as-displayed (property: outputAsDisplayed)
    If enabled, cells are output as displayed, ie, results of formulas instead 
    of the formulas.
 
-max-rows <int> (property: maxRows)
    The maximum number of rows to keep in memory.
    default: 100
    minimum: 1
 

Version:
$Revision: 7064 $
Author:
fracpete (fracpete at waikato dot ac dot nz)
See Also:
Serialized Form

Field Summary
static String FILE_EXTENSION
          the OOXML file extension.
protected  int m_MaxRows
          the number of rows to keep in memory.
protected  boolean m_OutputAsDisplayed
          whether to output the cells as displayed (disable to output formulas).
 
Fields inherited from class adams.data.io.output.AbstractMultiSheetSpreadSheetWriterWithMissingValueSupport
m_MissingValue
 
Fields inherited from class adams.data.io.output.AbstractMultiSheetSpreadSheetWriter
m_SheetPrefix
 
Fields inherited from class adams.core.option.AbstractOptionHandler
m_DebugLevel, m_OptionManager
 
Constructor Summary
ExcelStreamingSpreadSheetWriter()
           
 
Method Summary
 void defineOptions()
          Adds options to the internal list of options.
protected  boolean doWrite(SpreadSheet[] content, OutputStream out)
          Performs the actual writing.
 String getFormatDescription()
          Returns a string describing the format (used in the file chooser).
 String[] getFormatExtensions()
          Returns the extension(s) of the format.
 int getMaxRows()
          Returns the maximum number of rows to keep in memory.
 boolean getOutputAsDisplayed()
          Returns whether to output the cell content as displayed, ie, no formulas but the result of formulas.
protected  boolean getUseOutputStream()
          Returns whether to write to an OutputStream rather than a Writer.
 String globalInfo()
          Returns a string describing the object.
 String maxRowsTipText()
          Returns the tip text for this property.
 String outputAsDisplayedTipText()
          Returns the tip text for this property.
 void setMaxRows(int value)
          Sets the maximum number of rows to keep in memory.
 void setOutputAsDisplayed(boolean value)
          Sets whether to output the cell content as displayed, ie, no formulas but the result of formulas.
 
Methods inherited from class adams.data.io.output.AbstractMultiSheetSpreadSheetWriterWithMissingValueSupport
getDefaultMissingValue, getMissingValue, missingValueTipText, setMissingValue
 
Methods inherited from class adams.data.io.output.AbstractMultiSheetSpreadSheetWriter
doWrite, doWrite, doWrite, getDefaultSheetPrefix, getSheetPrefix, setSheetPrefix, sheetPrefixTipText, write, write, write, write
 
Methods inherited from class adams.data.io.output.AbstractSpreadSheetWriter
getWriters, write, write, write, write
 
Methods inherited from class adams.core.option.AbstractOptionHandler
cleanUpOptions, debug, debug, debugLevelTipText, destroy, finishInit, getDebugLevel, getOptionManager, initialize, isDebugOn, newOptionManager, reset, setDebugLevel, toCommandLine, toString
 
Methods inherited from class adams.core.ConsoleObject
getDebugging, getSystemErr, getSystemOut, sizeOf
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface adams.data.io.output.SpreadSheetWriter
write, write, write, write
 
Methods inherited from interface adams.core.option.OptionHandler
cleanUpOptions, getOptionManager
 
Methods inherited from interface adams.core.Destroyable
destroy
 

Field Detail

FILE_EXTENSION

public static String FILE_EXTENSION
the OOXML file extension.


m_OutputAsDisplayed

protected boolean m_OutputAsDisplayed
whether to output the cells as displayed (disable to output formulas).


m_MaxRows

protected int m_MaxRows
the number of rows to keep in memory.

Constructor Detail

ExcelStreamingSpreadSheetWriter

public ExcelStreamingSpreadSheetWriter()
Method Detail

globalInfo

public String globalInfo()
Returns a string describing the object.

Specified by:
globalInfo in class AbstractOptionHandler
Returns:
a description suitable for displaying in the gui

defineOptions

public void defineOptions()
Adds options to the internal list of options.

Specified by:
defineOptions in interface OptionHandler
Overrides:
defineOptions in class AbstractMultiSheetSpreadSheetWriterWithMissingValueSupport

getFormatDescription

public String getFormatDescription()
Returns a string describing the format (used in the file chooser).

Specified by:
getFormatDescription in interface SpreadSheetWriter
Specified by:
getFormatDescription in class AbstractSpreadSheetWriter
Returns:
a description suitable for displaying in the file chooser

getFormatExtensions

public String[] getFormatExtensions()
Returns the extension(s) of the format.

Specified by:
getFormatExtensions in interface SpreadSheetWriter
Specified by:
getFormatExtensions in class AbstractSpreadSheetWriter
Returns:
the extension (without the dot!)

getUseOutputStream

protected boolean getUseOutputStream()
Returns whether to write to an OutputStream rather than a Writer.

Specified by:
getUseOutputStream in class AbstractSpreadSheetWriter
Returns:
true if to write to an OutputStream

setOutputAsDisplayed

public void setOutputAsDisplayed(boolean value)
Sets whether to output the cell content as displayed, ie, no formulas but the result of formulas.

Specified by:
setOutputAsDisplayed in interface SpreadSheetWriterWithFormulaSupport
Parameters:
value - true if to output as displayed

getOutputAsDisplayed

public boolean getOutputAsDisplayed()
Returns whether to output the cell content as displayed, ie, no formulas but the result of formulas.

Specified by:
getOutputAsDisplayed in interface SpreadSheetWriterWithFormulaSupport
Returns:
true if to output as displayed

outputAsDisplayedTipText

public String outputAsDisplayedTipText()
Returns the tip text for this property.

Specified by:
outputAsDisplayedTipText in interface SpreadSheetWriterWithFormulaSupport
Returns:
tip text for this property suitable for displaying in the explorer/experimenter gui

setMaxRows

public void setMaxRows(int value)
Sets the maximum number of rows to keep in memory.

Parameters:
value - the number of rows

getMaxRows

public int getMaxRows()
Returns the maximum number of rows to keep in memory.

Returns:
the number of rows

maxRowsTipText

public String maxRowsTipText()
Returns the tip text for this property.

Returns:
tip text for this property suitable for displaying in the explorer/experimenter gui

doWrite

protected boolean doWrite(SpreadSheet[] content,
                          OutputStream out)
Performs the actual writing. The caller must ensure that the writer gets closed.

Overrides:
doWrite in class AbstractMultiSheetSpreadSheetWriter
Parameters:
content - the spreadsheet to write
out - the writer to write the spreadsheet to
Returns:
true if successfully written


Copyright © 2013 University of Waikato, Hamilton, NZ. All Rights Reserved.