Class CsvSpreadSheetReader

  • All Implemented Interfaces:
    AdditionalInformationHandler, Destroyable, ErrorProvider, GlobalInfoSupporter, EncodingSupporter, FileFormatHandler, LoggingLevelHandler, LoggingSupporter, LocaleSupporter, OptionHandlingLocaleSupporter, OptionHandler, SizeOfHandler, Stoppable, StoppableWithFeedback, ChunkedSpreadSheetReader, InitialRowSkippingSpreadSheetReader, MissingValueSpreadSheetReader, NoHeaderSpreadSheetReader, SpreadSheetReader, WindowedSpreadSheetReader, DataRowTypeHandler, SpreadSheetTypeHandler, Serializable

    public class CsvSpreadSheetReader
    extends AbstractSpreadSheetReaderWithMissingValueSupport
    implements ChunkedSpreadSheetReader, OptionHandlingLocaleSupporter, WindowedSpreadSheetReader, NoHeaderSpreadSheetReader, InitialRowSkippingSpreadSheetReader
    Reads CSV files.
    It is possible to force columns to be text. In that case no intelligent parsing is attempted to determine the type of data a cell has.
    For very large files, one can turn on chunking, which returns spreadsheet objects till all the data has been read.

    -logging-level <OFF|SEVERE|WARNING|INFO|CONFIG|FINE|FINER|FINEST> (property: loggingLevel)
        The logging level for outputting errors and debugging output.
        default: WARNING
     
    -data-row-type <adams.data.spreadsheet.DataRow> (property: dataRowType)
        The type of row to use for the data.
        default: adams.data.spreadsheet.DenseDataRow
     
    -spreadsheet-type <adams.data.spreadsheet.SpreadSheet> (property: spreadSheetType)
        The type of spreadsheet to use for the data.
        default: adams.data.spreadsheet.DefaultSpreadSheet
     
    -missing <adams.core.base.BaseRegExp> (property: missingValue)
        The placeholder for missing values.
        default: ^(\\\\?|)$
     
    -encoding <adams.core.base.BaseCharset> (property: encoding)
        The type of encoding to use when reading using a reader, leave empty for 
        default.
        default: Default
     
    -comment <java.lang.String> (property: comment)
        The string denoting the start of a line comment (comments can only precede 
        header row).
        default: #
     
    -quote-char <java.lang.String> (property: quoteCharacter)
        The character to use for surrounding text cells.
        default: \"
     
    -separator <java.lang.String> (property: separator)
        The separator to use for the columns; use '\t' for tab.
        default: ,
     
    -trim <boolean> (property: trim)
        If enabled, the content of the cells gets trimmed before added.
        default: false
     
    -text-columns <adams.core.Range> (property: textColumns)
        The range of columns to treat as text.
        default: 
        example: A range is a comma-separated list of single 1-based indices or sub-ranges of indices ('start-end'); 'inv(...)' inverts the range '...'; the following placeholders can be used as well: first, second, third, last_2, last_1, last
     
    -date-columns <adams.core.Range> (property: dateColumns)
        The range of columns to treat as date.
        default: 
        example: A range is a comma-separated list of single 1-based indices or sub-ranges of indices ('start-end'); 'inv(...)' inverts the range '...'; the following placeholders can be used as well: first, second, third, last_2, last_1, last
     
    -date-format <adams.data.DateFormatString> (property: dateFormat)
        The format for dates.
        default: yyyy-MM-dd
        more: http://docs.oracle.com/javase/6/docs/api/java/text/SimpleDateFormat.html
     
    -date-lenient <boolean> (property: dateLenient)
        Whether date parsing is lenient or not.
        default: false
     
    -datetime-columns <adams.core.Range> (property: dateTimeColumns)
        The range of columns to treat as date/time.
        default: 
        example: A range is a comma-separated list of single 1-based indices or sub-ranges of indices ('start-end'); 'inv(...)' inverts the range '...'; the following placeholders can be used as well: first, second, third, last_2, last_1, last
     
    -datetime-format <adams.data.DateFormatString> (property: dateTimeFormat)
        The format for date/times.
        default: yyyy-MM-dd HH:mm:ss
        more: http://docs.oracle.com/javase/6/docs/api/java/text/SimpleDateFormat.html
     
    -datetime-lenient <boolean> (property: dateTimeLenient)
        Whether date/time parsing is lenient or not.
        default: false
     
    -datetimemsec-columns <adams.core.Range> (property: dateTimeMsecColumns)
        The range of columns to treat as date/time msec.
        default: 
        example: A range is a comma-separated list of single 1-based indices or sub-ranges of indices ('start-end'); 'inv(...)' inverts the range '...'; the following placeholders can be used as well: first, second, third, last_2, last_1, last
     
    -datetimemsec-format <adams.data.DateFormatString> (property: dateTimeMsecFormat)
        The format for date/time msecs.
        default: yyyy-MM-dd HH:mm:ss.SSS
        more: http://docs.oracle.com/javase/6/docs/api/java/text/SimpleDateFormat.html
     
    -datetimemsec-lenient <boolean> (property: dateTimeMsecLenient)
        Whether date/time msec parsing is lenient or not.
        default: false
     
    -time-columns <adams.core.Range> (property: timeColumns)
        The range of columns to treat as time.
        default: 
        example: A range is a comma-separated list of single 1-based indices or sub-ranges of indices ('start-end'); 'inv(...)' inverts the range '...'; the following placeholders can be used as well: first, second, third, last_2, last_1, last
     
    -time-format <adams.data.DateFormatString> (property: timeFormat)
        The format for times.
        default: HH:mm:ss
        more: http://docs.oracle.com/javase/6/docs/api/java/text/SimpleDateFormat.html
     
    -time-lenient <boolean> (property: timeLenient)
        Whether time parsing is lenient or not.
        default: false
     
    -time-msec-columns <adams.core.Range> (property: timeMsecColumns)
        The range of columns to treat as time/msec.
        default: 
        example: A range is a comma-separated list of single 1-based indices or sub-ranges of indices ('start-end'); 'inv(...)' inverts the range '...'; the following placeholders can be used as well: first, second, third, last_2, last_1, last
     
    -time-msec-format <adams.data.DateFormatString> (property: timeMsecFormat)
        The format for times/msec.
        default: HH:mm:ss.SSS
        more: http://docs.oracle.com/javase/6/docs/api/java/text/SimpleDateFormat.html
     
    -time-msec-lenient <boolean> (property: timeMsecLenient)
        Whether time/msec parsing is lenient or not.
        default: false
     
    -time-zone <java.util.TimeZone> (property: timeZone)
        The time zone to use for interpreting dates/times; default is the system-wide 
        defined one.
     
    -locale <java.util.Locale> (property: locale)
        The locale to use for parsing the numbers.
        default: Default
     
    -no-header <boolean> (property: noHeader)
        If enabled, all rows get added as data rows and a dummy header will get 
        inserted.
        default: false
     
    -custom-column-headers <java.lang.String> (property: customColumnHeaders)
        The custom headers to use for the columns instead (comma-separated list);
         ignored if empty.
        default: 
     
    -first-row <int> (property: firstRow)
        The index of the first row to retrieve (1-based).
        default: 1
        minimum: 1
     
    -num-rows <int> (property: numRows)
        The number of data rows to retrieve; use -1 for unlimited.
        default: -1
        minimum: -1
     
    -num-rows-col-type-discovery <int> (property: numRowsColumnTypeDiscovery)
        The number of data rows to use for automatically determining the column 
        (= speed up for large files with consistent cell types); use 0 to turn off 
        feature.
        default: 0
        minimum: 0
     
    -chunk-size <int> (property: chunkSize)
        The maximum number of rows per chunk; using -1 will read put all data into 
        a single spreadsheet object.
        default: -1
        minimum: -1
     
    -parse-formulas <boolean> (property: parseFormulas)
        Whether to try parsing formula-like cells.
        default: true
     
    -skip-differing-rows <boolean> (property: skipDifferingRows)
        If enabled, skips rows that have either too many or too few cells compared 
        to the header row.
        default: false
     
    Author:
    fracpete (fracpete at waikato dot ac dot nz)
    See Also:
    Serialized Form
    • Field Detail

      • m_Comment

        protected String m_Comment
        the line comment.
      • m_QuoteCharacter

        protected String m_QuoteCharacter
        the quote character.
      • m_Separator

        protected String m_Separator
        the column separator.
      • m_TextColumns

        protected Range m_TextColumns
        the columns to treat as text.
      • m_DateColumns

        protected Range m_DateColumns
        the columns to treat as date.
      • m_DateFormat

        protected DateFormatString m_DateFormat
        the format string for the dates.
      • m_DateLenient

        protected boolean m_DateLenient
        whether date parsing is lenient.
      • m_DateTimeColumns

        protected Range m_DateTimeColumns
        the columns to treat as date/time.
      • m_DateTimeFormat

        protected DateFormatString m_DateTimeFormat
        the format string for the date/times.
      • m_DateTimeLenient

        protected boolean m_DateTimeLenient
        whether date/time parsing is lenient.
      • m_DateTimeMsecColumns

        protected Range m_DateTimeMsecColumns
        the columns to treat as date/time msec.
      • m_DateTimeMsecFormat

        protected DateFormatString m_DateTimeMsecFormat
        the format string for the date/times.
      • m_DateTimeMsecLenient

        protected boolean m_DateTimeMsecLenient
        whether date/time msec parsing is lenient.
      • m_TimeColumns

        protected Range m_TimeColumns
        the columns to treat as time.
      • m_TimeFormat

        protected DateFormatString m_TimeFormat
        the format string for the times.
      • m_TimeLenient

        protected boolean m_TimeLenient
        whether time parsing is lenient.
      • m_TimeMsecColumns

        protected Range m_TimeMsecColumns
        the columns to treat as time/msec.
      • m_TimeMsecFormat

        protected DateFormatString m_TimeMsecFormat
        the format string for the times/msec.
      • m_TimeMsecLenient

        protected boolean m_TimeMsecLenient
        whether time/msec parsing is lenient.
      • m_TimeZone

        protected TimeZone m_TimeZone
        the timezone to use.
      • m_Locale

        protected Locale m_Locale
        the locale to use.
      • m_SkipNumRows

        protected int m_SkipNumRows
        the number of initial rows to skip.
      • m_NoHeader

        protected boolean m_NoHeader
        whether the file has a header or not.
      • m_CustomColumnHeaders

        protected String m_CustomColumnHeaders
        the comma-separated list of column header names.
      • m_ChunkSize

        protected int m_ChunkSize
        the chunk size to use.
      • m_Trim

        protected boolean m_Trim
        whether to trim the cells.
      • m_FirstRow

        protected int m_FirstRow
        the first row to retrieve (1-based).
      • m_NumRows

        protected int m_NumRows
        the number of rows to retrieve (less than 1 = unlimited).
      • m_NumRowsColumnTypeDiscovery

        protected int m_NumRowsColumnTypeDiscovery
        the number of rows to use for automatic discovery of column types (0 = off).
      • m_ParseFormulas

        protected boolean m_ParseFormulas
        whether to parse formulas.
      • m_SkipDifferingRows

        protected boolean m_SkipDifferingRows
        whether to drop rows with too few or too many cells.
    • Constructor Detail

      • CsvSpreadSheetReader

        public CsvSpreadSheetReader()
    • Method Detail

      • setComment

        public void setComment​(String value)
        Sets the string denoting the start of a line comment.
        Parameters:
        value - the comment start
      • getComment

        public String getComment()
        Returns the string denoting the start of a line comment.
        Returns:
        the comment start
      • commentTipText

        public String commentTipText()
        Returns the tip text for this property.
        Returns:
        tip text for this property suitable for displaying in the GUI or for listing the options.
      • setQuoteCharacter

        public void setQuoteCharacter​(String value)
        Sets the character used for surrounding text.
        Parameters:
        value - the quote character, can be empty
      • getQuoteCharacter

        public String getQuoteCharacter()
        Returns the string used for surrounding text.
        Returns:
        the quote character, can be empty
      • quoteCharacterTipText

        public String quoteCharacterTipText()
        Returns the tip text for this property.
        Returns:
        tip text for this property suitable for displaying in the GUI or for listing the options.
      • setSeparator

        public void setSeparator​(String value)
        Sets the string to use as separator for the columns, use '\t' for tab.
        Parameters:
        value - the separator
      • getSeparator

        public String getSeparator()
        Returns the string used as separator for the columns, '\t' for tab.
        Returns:
        the separator
      • separatorTipText

        public String separatorTipText()
        Returns the tip text for this property.
        Returns:
        tip text for this property suitable for displaying in the GUI or for listing the options.
      • setTextColumns

        public void setTextColumns​(Range value)
        Sets the range of columns to treat as text.
        Parameters:
        value - the range
      • getTextColumns

        public Range getTextColumns()
        Returns the range of columns to treat as text.
        Returns:
        the range
      • textColumnsTipText

        public String textColumnsTipText()
        Returns the tip text for this property.
        Returns:
        tip text for this property suitable for displaying in the gui
      • setDateColumns

        public void setDateColumns​(Range value)
        Sets the range of columns to treat as date.
        Parameters:
        value - the range
      • getDateColumns

        public Range getDateColumns()
        Returns the range of columns to treat as date.
        Returns:
        the range
      • dateColumnsTipText

        public String dateColumnsTipText()
        Returns the tip date for this property.
        Returns:
        tip date for this property suitable for displaying in the gui
      • setDateFormat

        public void setDateFormat​(DateFormatString value)
        Sets the format for date columns.
        Parameters:
        value - the format
      • getDateFormat

        public DateFormatString getDateFormat()
        Returns the format for date columns.
        Returns:
        the format
      • dateFormatTipText

        public String dateFormatTipText()
        Returns the tip date for this property.
        Returns:
        tip date for this property suitable for displaying in the gui
      • setDateLenient

        public void setDateLenient​(boolean value)
        Sets whether parsing of dates is to be lenient or not.
        Parameters:
        value - if true lenient parsing is used, otherwise not
        See Also:
        DateFormat.setLenient(boolean)
      • isDateLenient

        public boolean isDateLenient()
        Returns whether the parsing of dates is lenient or not.
        Returns:
        true if parsing is lenient
        See Also:
        DateFormat.isLenient()
      • dateLenientTipText

        public String dateLenientTipText()
        Returns the tip text for this property.
        Returns:
        tip text for this property suitable for displaying in the gui
      • setDateTimeColumns

        public void setDateTimeColumns​(Range value)
        Sets the range of columns to treat as date/time.
        Parameters:
        value - the range
      • getDateTimeColumns

        public Range getDateTimeColumns()
        Returns the range of columns to treat as date/time.
        Returns:
        the range
      • dateTimeColumnsTipText

        public String dateTimeColumnsTipText()
        Returns the tip date for this property.
        Returns:
        tip date for this property suitable for displaying in the gui
      • setDateTimeFormat

        public void setDateTimeFormat​(DateFormatString value)
        Sets the format for date/time columns.
        Parameters:
        value - the format
      • getDateTimeFormat

        public DateFormatString getDateTimeFormat()
        Returns the format for date/time columns.
        Returns:
        the format
      • dateTimeFormatTipText

        public String dateTimeFormatTipText()
        Returns the tip date/time for this property.
        Returns:
        tip date for this property suitable for displaying in the gui
      • setDateTimeLenient

        public void setDateTimeLenient​(boolean value)
        Sets whether parsing of date/times is to be lenient or not.
        Parameters:
        value - if true lenient parsing is used, otherwise not
        See Also:
        DateFormat.setLenient(boolean)
      • isDateTimeLenient

        public boolean isDateTimeLenient()
        Returns whether the parsing of date/times is lenient or not.
        Returns:
        true if parsing is lenient
        See Also:
        DateFormat.isLenient()
      • dateTimeLenientTipText

        public String dateTimeLenientTipText()
        Returns the tip text for this property.
        Returns:
        tip text for this property suitable for displaying in the gui
      • setDateTimeMsecColumns

        public void setDateTimeMsecColumns​(Range value)
        Sets the range of columns to treat as date/time msec.
        Parameters:
        value - the range
      • getDateTimeMsecColumns

        public Range getDateTimeMsecColumns()
        Returns the range of columns to treat as date/time msec.
        Returns:
        the range
      • dateTimeMsecColumnsTipText

        public String dateTimeMsecColumnsTipText()
        Returns the tip date for this property.
        Returns:
        tip date for this property suitable for displaying in the gui
      • setDateTimeMsecFormat

        public void setDateTimeMsecFormat​(DateFormatString value)
        Sets the format for date/time msec columns.
        Parameters:
        value - the format
      • getDateTimeMsecFormat

        public DateFormatString getDateTimeMsecFormat()
        Returns the format for date/time msec columns.
        Returns:
        the format
      • dateTimeMsecFormatTipText

        public String dateTimeMsecFormatTipText()
        Returns the tip date/time for this property.
        Returns:
        tip date for this property suitable for displaying in the gui
      • setDateTimeMsecLenient

        public void setDateTimeMsecLenient​(boolean value)
        Sets whether parsing of date/time msecs is to be lenient or not.
        Parameters:
        value - if true lenient parsing is used, otherwise not
        See Also:
        DateFormat.setLenient(boolean)
      • isDateTimeMsecLenient

        public boolean isDateTimeMsecLenient()
        Returns whether the parsing of date/time msecs is lenient or not.
        Returns:
        true if parsing is lenient
        See Also:
        DateFormat.isLenient()
      • dateTimeMsecLenientTipText

        public String dateTimeMsecLenientTipText()
        Returns the tip text for this property.
        Returns:
        tip text for this property suitable for displaying in the gui
      • setTimeColumns

        public void setTimeColumns​(Range value)
        Sets the range of columns to treat as time.
        Parameters:
        value - the range
      • getTimeColumns

        public Range getTimeColumns()
        Returns the range of columns to treat as time.
        Returns:
        the range
      • timeColumnsTipText

        public String timeColumnsTipText()
        Returns the tip time for this property.
        Returns:
        tip time for this property suitable for displaying in the gui
      • setTimeFormat

        public void setTimeFormat​(DateFormatString value)
        Sets the format for time columns.
        Parameters:
        value - the format
      • getTimeFormat

        public DateFormatString getTimeFormat()
        Returns the format for time columns.
        Returns:
        the format
      • timeFormatTipText

        public String timeFormatTipText()
        Returns the tip time for this property.
        Returns:
        tip time for this property suitable for displaying in the gui
      • setTimeLenient

        public void setTimeLenient​(boolean value)
        Sets whether parsing of times is to be lenient or not.
        Parameters:
        value - if true lenient parsing is used, otherwise not
        See Also:
        DateFormat.setLenient(boolean)
      • isTimeLenient

        public boolean isTimeLenient()
        Returns whether the parsing of times is lenient or not.
        Returns:
        true if parsing is lenient
        See Also:
        DateFormat.isLenient()
      • timeLenientTipText

        public String timeLenientTipText()
        Returns the tip text for this property.
        Returns:
        tip text for this property suitable for displaying in the gui
      • setTimeMsecColumns

        public void setTimeMsecColumns​(Range value)
        Sets the range of columns to treat as time.
        Parameters:
        value - the range
      • getTimeMsecColumns

        public Range getTimeMsecColumns()
        Returns the range of columns to treat as time/msec.
        Returns:
        the range
      • timeMsecColumnsTipText

        public String timeMsecColumnsTipText()
        Returns the tip time for this property.
        Returns:
        tip time for this property suitable for displaying in the gui
      • setTimeMsecFormat

        public void setTimeMsecFormat​(DateFormatString value)
        Sets the format for time/msec columns.
        Parameters:
        value - the format
      • getTimeMsecFormat

        public DateFormatString getTimeMsecFormat()
        Returns the format for time/msec columns.
        Returns:
        the format
      • timeMsecFormatTipText

        public String timeMsecFormatTipText()
        Returns the tip time for this property.
        Returns:
        tip time for this property suitable for displaying in the gui
      • setTimeMsecLenient

        public void setTimeMsecLenient​(boolean value)
        Sets whether parsing of times/msec is to be lenient or not.
        Parameters:
        value - if true lenient parsing is used, otherwise not
        See Also:
        DateFormat.setLenient(boolean)
      • isTimeMsecLenient

        public boolean isTimeMsecLenient()
        Returns whether the parsing of times/msec is lenient or not.
        Returns:
        true if parsing is lenient
        See Also:
        DateFormat.isLenient()
      • timeMsecLenientTipText

        public String timeMsecLenientTipText()
        Returns the tip text for this property.
        Returns:
        tip text for this property suitable for displaying in the gui
      • setTimeZone

        public void setTimeZone​(TimeZone value)
        Sets the time zone to use.
        Parameters:
        value - the time zone
      • getTimeZone

        public TimeZone getTimeZone()
        Returns the time zone in use.
        Returns:
        the time zone
      • timeZoneTipText

        public String timeZoneTipText()
        Returns the tip text for this property.
        Returns:
        tip text for this property suitable for displaying in the gui
      • setLocale

        public void setLocale​(Locale value)
        Sets the locale to use.
        Specified by:
        setLocale in interface LocaleSupporter
        Parameters:
        value - the locale
      • localeTipText

        public String localeTipText()
        Returns the tip text for this property.
        Specified by:
        localeTipText in interface OptionHandlingLocaleSupporter
        Returns:
        tip text for this property suitable for displaying in the GUI or for listing the options.
      • setNoHeader

        public void setNoHeader​(boolean value)
        Sets whether the file contains a header row or not.
        Specified by:
        setNoHeader in interface NoHeaderSpreadSheetReader
        Parameters:
        value - true if no header row available
      • getNoHeader

        public boolean getNoHeader()
        Returns whether the file contains a header row or not.
        Specified by:
        getNoHeader in interface NoHeaderSpreadSheetReader
        Returns:
        true if no header row available
      • noHeaderTipText

        public String noHeaderTipText()
        Returns the tip text for this property.
        Specified by:
        noHeaderTipText in interface NoHeaderSpreadSheetReader
        Returns:
        tip text for this property suitable for displaying in the gui
      • setChunkSize

        public void setChunkSize​(int value)
        Sets the maximum chunk size.
        Specified by:
        setChunkSize in interface ChunkedSpreadSheetReader
        Parameters:
        value - the size of the chunks, < 1 denotes infinity
      • getChunkSize

        public int getChunkSize()
        Returns the current chunk size.
        Specified by:
        getChunkSize in interface ChunkedSpreadSheetReader
        Returns:
        the size of the chunks, < 1 denotes infinity
      • chunkSizeTipText

        public String chunkSizeTipText()
        Returns the tip text for this property.
        Specified by:
        chunkSizeTipText in interface ChunkedSpreadSheetReader
        Returns:
        tip text for this property suitable for displaying in the gui
      • setTrim

        public void setTrim​(boolean value)
        Sets whether to trim the cell content.
        Parameters:
        value - if true the content gets trimmed
      • getTrim

        public boolean getTrim()
        Returns whether to trim the cell content.
        Returns:
        true if to trim content
      • trimTipText

        public String trimTipText()
        Returns the tip text for this property.
        Returns:
        tip text for this property suitable for displaying in the gui
      • setFirstRow

        public void setFirstRow​(int value)
        Sets the first row to return.
        Specified by:
        setFirstRow in interface WindowedSpreadSheetReader
        Parameters:
        value - the first row (1-based), greater than 0
      • getFirstRow

        public int getFirstRow()
        Returns the first row to return.
        Specified by:
        getFirstRow in interface WindowedSpreadSheetReader
        Returns:
        the first row (1-based), greater than 0
      • firstRowTipText

        public String firstRowTipText()
        Returns the tip text for this property.
        Specified by:
        firstRowTipText in interface WindowedSpreadSheetReader
        Returns:
        tip text for this property suitable for displaying in the GUI or for listing the options.
      • setNumRows

        public void setNumRows​(int value)
        Sets the number of data rows to return.
        Specified by:
        setNumRows in interface WindowedSpreadSheetReader
        Parameters:
        value - the number of rows, -1 for unlimited
      • getNumRows

        public int getNumRows()
        Returns the number of data rows to return.
        Specified by:
        getNumRows in interface WindowedSpreadSheetReader
        Returns:
        the number of rows, -1 for unlimited
      • numRowsTipText

        public String numRowsTipText()
        Returns the tip text for this property.
        Specified by:
        numRowsTipText in interface WindowedSpreadSheetReader
        Returns:
        tip text for this property suitable for displaying in the GUI or for listing the options.
      • setNumRowsColumnTypeDiscovery

        public void setNumRowsColumnTypeDiscovery​(int value)
        Sets the number of data rows to use for automatically determining the column type.
        Parameters:
        value - the number of rows, 0 to turn off feature
      • getNumRowsColumnTypeDiscovery

        public int getNumRowsColumnTypeDiscovery()
        Returns the number of data rows to use for automatically determining the column type.
        Returns:
        the number of rows, 0 to turn off feature
      • numRowsColumnTypeDiscoveryTipText

        public String numRowsColumnTypeDiscoveryTipText()
        Returns the tip text for this property.
        Returns:
        tip text for this property suitable for displaying in the GUI or for listing the options.
      • setParseFormulas

        public void setParseFormulas​(boolean value)
        Sets whether to parse formula-like cells.
        Parameters:
        value - if true then formula-like cells get parsed
      • getParseFormulas

        public boolean getParseFormulas()
        Returns whether to parse formula-like cells.
        Returns:
        true if to parse formula-like cells
      • parseFormulasTipText

        public String parseFormulasTipText()
        Returns the tip text for this property.
        Returns:
        tip text for this property suitable for displaying in the gui
      • setSkipDifferingRows

        public void setSkipDifferingRows​(boolean value)
        Sets whether to skip rows that have too few/many cells.
        Parameters:
        value - true if to skip
      • getSkipDifferingRows

        public boolean getSkipDifferingRows()
        Returns whether to skip rows that have too few/many cells.
        Returns:
        true if to skip
      • skipDifferingRowsTipText

        public String skipDifferingRowsTipText()
        Returns the tip text for this property.
        Returns:
        tip text for this property suitable for displaying in the gui
      • hasMoreChunks

        public boolean hasMoreChunks()
        Checks whether there is more data to read.
        Specified by:
        hasMoreChunks in interface ChunkedSpreadSheetReader
        Returns:
        true if there is more data available