2010-12-20 118 views
6

将数据导出到csv(逗号分隔值)时有点问题。所有数据都已导出,但来自QTableWidget的行标题和名称不包含。我需要列和行的标题。将数据从qtablewidget导出到csv

你有什么想法如何获取列的名称标题和行的名称? 这里是我的代码:

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(); 
} 
+0

这是用于ftp的吗? – 2010-12-20 07:57:50

+0

不,这只是导出数据到硬盘作为csv文件 – Risino 2010-12-20 09:00:20

+0

我注意到你的配置文件中你有0票;既然你有足够的声誉,你可以开始upvoting有帮助的答案。 – 2010-12-20 13:29:08

回答

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";