将数据从qtablewidget导出到csv

时间:2010-12-20 07:55:59

标签: c++ csv qt4 export

我将数据导出到csv(逗号分隔值)有点问题。导出了所有数据,但QTableWidget中的标题和行名称没有。我需要列和行的标题。

您是否知道如何获取列的名称标题和行名称? 这是我的代码:

QFile f( "money.csv" );

if (f.open(QFile::WriteOnly | QFile::Truncate))
{
    QTextStream data( &f );
    QStringList strList;

    for( int r = 0; r < ui->tableWidget->rowCount(); ++r )
    {
        strList.clear();
        for( int c = 0; c < ui->tableWidget->columnCount(); ++c )
        {
            strList << "\" "+ui->tableWidget->item( r, c )->text()+"\" ";
        }
        data << strList.join( ";" )+"\n";
    }
    f.close();
}

1 个答案:

答案 0 :(得分:4)

您可以使用QTableWidget::horizontalHeaderItem(int column),它会返回列column的标题项。

QTableWidget * table = ui->tableWidget;

for( int c = 0; c < widget->columnCount(); ++c )
{
    strList << 
            "\" " +
            table->horizontalHeaderItem(c)->data(Qt::DisplayRole).toString() +
            "\" ";
}

data << strList.join(";") << "\n";