把选中的tableView导出到excel表格
  FAj3UuBtaHcj 2023年11月02日 26 0

刚开始学习QT不久,走了很多歪路,做界面时遇到很多的问题,现分享一下,如有不对,请大佬指正。参考了很多网上的代码,总结了一下,下面是把选中的tableView的内容导出到Excel表格的代码,tableView已经设置了单击是选中行

ui->tableView->setSelectionBehavior(QAbstractItemView::SelectRows);//设置选中模式为选中行 )

void querywindow::on_pB_export_clicked()//按钮事件 {

QString filepath = QFileDialog::getSaveFileName(this, tr("Save as..."),
                                                "C:/Users/Desktop",
                                                tr("EXCEL files (*.xls);;HTML-Files (*.txt);;"));

if (filepath != "")
{
    int row = ui->tableView->currentIndex().row();
    int col = ui->tableView->model()->columnCount();
    QList<QString> list;
    /*添加标题
     QString Header;
     QModelIndexList selectedRows = ui->tableView->selectionModel()->selectedRows();
    
     for (int i = 0; i < col; i++)
     {
        Header.append(ui->tableView->model()->headerData(i, Qt::Horizontal, Qt::DisplayRole).toString() + "\t");
     }
     list.push_back(Header);*/
   
    for (int i = 0; i <=row; i++)
    {
        QString rowStr = "";
        for (int j = 0; j < col; j++){
            QModelIndex index = ui->tableView->model()->index(i, j);
            rowStr += ui->tableView->model()->data(index).toString() + "\t";
        }
        list.push_back(rowStr);
    }
    QTextEdit textEdit;
    for (int i = 0; i < list.size(); i++)
    {
        textEdit.append(list.at(i));
    }
    
    QFile file(filepath);
    if (file.open(QFile::WriteOnly | QIODevice::Text))
    {
        QTextStream ts(&file);
        ts.setCodec("UTF-8");//判断是否用“utf-8”
        ts << textEdit.document()->toPlainText();
        file.close();                  
    }else{
        QMessageBox::information(this, "提示:","数据导出失败");
        
    }
  }
}

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
  lA9hNJ8xYnRP   2023年12月12日   30   0   0 Qt
  lA9hNJ8xYnRP   2023年12月06日   32   0   0 Qt
  gBkHYLY8jvYd   2023年11月19日   30   0   0 #includecic++
  lA9hNJ8xYnRP   2023年12月06日   35   0   0 构造函数Qt
  ZXL8ALkrtBPG   2023年12月06日   27   0   0 字面量c++
  lh6O4DgR0ZQ8   2023年11月24日   18   0   0 cii++c++
  lA9hNJ8xYnRP   2023年12月07日   32   0   0 Qt
  lA9hNJ8xYnRP   2023年12月11日   28   0   0 Qt
  lA9hNJ8xYnRP   2023年11月25日   38   0   0 Qt数据
  gBkHYLY8jvYd   2023年11月19日   27   0   0 十进制高精度c++
  lA9hNJ8xYnRP   2023年11月30日   32   0   0 Qt表视图
  gBkHYLY8jvYd   2023年12月11日   20   0   0 cic++最小值
  gBkHYLY8jvYd   2023年11月19日   30   0   0 测试点cic++