# KOffice filters status: CSV - Comma Separated Values

Import | Export
Up

Import CSV for KSpread
Last update | 9 jan 2001
Features | - Can import CVS documents
Todo | - Automatically adjust the columns width to their contents. Will be difficult, as we don't know the font used... Solution ? Set a default font _in_ the filter, and use it to compute the width...
History | -
Authors | David Faure Werner Trobin
Links | -

Progress report

## Design

    The CSV import filter uses a hand-made state machine to parse the CSV file.
    This allows to handle quoted fields (such as those containing the CSV delimiter),
    as well as the double-quote character itself (which then appears twice, and
    always in a quoted field).
    Just to make sure about the vocabulary, I call a quoted field a field
    starting with " and finishing with ".

    Let's try to draw the graph of the state machine using ascii-art.

             DEL or EOL
                /--\
                |  |
                |  v    "
           /--[START]-------->[QUOTED_FIELD] (**)
      other|   ^   ^            |        ^
       (*) |   |   | DEL or     | "      | " (*)
           |   |   | EOL        v        |           other
           |   |   \----[MAYBE_END_OF_QUOTED_FIELD]--------> Error
           |   |
           |   | DEL or
           |   | EOL
           v   |
       [NORMAL_FIELD] (**)

    DEL  : CSV delimiter (depends on locale !). Often comma, sometimes semicolon.
    EOL  : End Of Line.
    (*)  : added to the current field
    (**) : implicit loop on itself, labeled "other (*)"

    Ugly isn't it ? :) One can't be good in drawings AND in hacking :)

    That's all. For the rest, see csvfilter.cc

    David Faure <faure@kde.org>, 1999

Up

Up

Export KSpread to CSV
Last update | ?
Features | ?
Todo | ?
History | -
Authors | David Faure Werner Trobin
Links | -
Progress report | ---

Up