The CsvFile class represents a comma-separated values (CSV) file.
More...
#include <csvfile.h>
|
| CsvFile () noexcept |
|
| CsvFile (const CsvFile &other)=delete |
|
| ~CsvFile () noexcept |
|
const QString & | getComment () const noexcept |
| Get the comment of the file.
|
|
const QStringList & | getHeader () const noexcept |
| Get the CSV header items.
|
|
const QList< QStringList > & | getValues () const noexcept |
| Get the CSV values.
|
|
void | setComment (const QString &comment) noexcept |
| Set file comment.
|
|
void | setHeader (const QStringList &header) noexcept |
| Set the header items.
|
|
void | addValue (const QStringList &value) |
| Add a row of values.
|
|
QString | toString () const noexcept |
| Build CSV file content and return it as a string.
|
|
void | saveToFile (const FilePath &csvFp) const |
| Write CSV file content to a file.
|
|
CsvFile & | operator= (const CsvFile &rhs)=delete |
|
|
static QString | escapeValue (const QString &value) noexcept |
|
The CsvFile class represents a comma-separated values (CSV) file.
The class allows building CSV and write them to a file. It is guaranteed that the written files are valid:
- Whenn adding a row with a wrong value count, addValue() throws an exception.
- Linebreaks inside values are replaced by spaces.
- If a value contains the separator character (e.g. the comma), the value gets quoted.
- Quotes inside values are escaped.
- Note
- You have to call setHeader() before adding any values with addValue()! This is needed to make sure all value rows have the same value count as the header.
- See also
- https://en.wikipedia.org/wiki/Comma-separated_values
◆ CsvFile() [1/2]
◆ CsvFile() [2/2]
◆ ~CsvFile()
◆ getComment()
const QString & getComment |
( |
| ) |
const |
|
inlinenoexcept |
Get the comment of the file.
- Returns
- File comment (raw comment without '#' at beginning of lines).
◆ getHeader()
const QStringList & getHeader |
( |
| ) |
const |
|
inlinenoexcept |
Get the CSV header items.
- Returns
- CSV header items (raw, i.e. without quotes and escaped characters).
◆ getValues()
const QList< QStringList > & getValues |
( |
| ) |
const |
|
inlinenoexcept |
Get the CSV values.
- Returns
- All value rows (raw, i.e. without quotes and escaped characters).
◆ setComment()
void setComment |
( |
const QString & |
comment | ) |
|
|
noexcept |
Set file comment.
- Parameters
-
comment | The comment to set. May contain linebreaks. |
◆ setHeader()
void setHeader |
( |
const QStringList & |
header | ) |
|
|
noexcept |
Set the header items.
- Parameters
-
header | The new header items. |
- Warning
- This method clears all values!
◆ addValue()
void addValue |
( |
const QStringList & |
value | ) |
|
Add a row of values.
- Parameters
-
value | The value row items. |
- Exceptions
-
◆ toString()
QString toString |
( |
| ) |
const |
|
noexcept |
Build CSV file content and return it as a string.
- Returns
- The string with the whole CSV file content.
◆ saveToFile()
void saveToFile |
( |
const FilePath & |
csvFp | ) |
const |
Write CSV file content to a file.
- Parameters
-
csvFp | The destination file path. |
- Exceptions
-
◆ operator=()
◆ getCommentLines()
QString getCommentLines |
( |
| ) |
const |
|
privatenoexcept |
◆ lineToString()
QString lineToString |
( |
const QStringList & |
line | ) |
const |
|
privatenoexcept |
◆ escapeValue()
QString escapeValue |
( |
const QString & |
value | ) |
|
|
staticprivatenoexcept |
◆ mComment
◆ mHeader
◆ mValues
QList<QStringList> mValues |
|
private |
The documentation for this class was generated from the following files: