Harrix Блог

  • Списки статей
    • Все статьи
    • IT
    • Qt
    • C++
    • Сложение двух чисел
    • Web программированиe
    • FAQ
    • Latex
    • Установка программ
    • Мифы
    • Видео
    • Про фото
  • Проекты
  • Harrix.org
  • RSS
  • Контакты

Как сохранять из QTableView данные в CSV формат

В статье описана функция, которая вам поможет сохранять из таблицы данные в CSV формат, который читается Excel.

06.05.2014 2 комментария 11 825 просмотров

В статье описана функция, которая вам поможет сохранять из таблицы данные в CSV формат, который читается Excel.

Написал вот такую функцию. Она сохраняет всё содержимое таблицы, включая вертикальный столбец и горизонтальную строку заголовков. Единственно, чего нет, так как это экранирования двойных кавычек.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
void MainWindow::saveAsCSV(QString filename)
{
    QFile f(filename);
    if( f.open( QIODevice::WriteOnly ) )
    {
        QTextStream ts( &f );
        QStringList strList;
        strList << "\" \"";
        for( int c = 0; c < ui->tableView->horizontalHeader()->count(); ++c )
            strList << "\""+ui->tableView->model()->headerData(c, Qt::Horizontal).toString()+"\"";
        ts << strList.join( ";" )+"\n";
        for( int r = 0; r < ui->tableView->verticalHeader()->count(); ++r )
        {
            strList.clear();
            strList << "\""+ui->tableView->model()->headerData(r, Qt::Vertical).toString()+"\"";
            for( int c = 0; c < ui->tableView->horizontalHeader()->count(); ++c )
            {
                strList << "\""+ui->tableView->model()->data(ui->tableView->model()->index(r, c), Qt::DisplayRole).toString()+"\"";
            }
            ts << strList.join( ";" )+"\n";
        }
        f.close();
    }
}

Заголовочные файлы подключите те, что попросит Qt при компиляции.

Вот была такая таблица:
01

Получили вот это:
02

В статье http://blog.harrix.org/?p=1523 узнаете, как добавлять данные в QTableView.


Статьи по теме:

  1. Как вывести данные в tableView в Qt
  2. Как сохранить данные из QTextEdit в ODF
  3. Распространенные ошибки в Qt у начинающих
  4. Сложение двух чисел в Qt 5.4.0 на C++ (консольное приложение)

IT C++, CSV, Excel, Qt, tableView

© 2014 Harrix