导出Excel-0

QT内置导出Excel CSV格式 QTableView版本

将QTableView的数据导出到Excel,csv格式,不适用外部库。

头文件引入

#include <QFile>
#include <QTextStream>

cpp文件

//导出Excel
void AAAA::on_exportButton_clicked()
{
	// 创建一个CSV文件
    QFile csvFile("AAAA.csv");
    if (!csvFile.open(QIODevice::WriteOnly | QIODevice::Text)) {
		QMessageBox msgBox;
		msgBox.setText("无法打开文件");
		msgBox.exec();
		return;
    }

    QTextStream stream(&csvFile);
	
	// 写入表头
    QStringList header;
    for (int col = 0; col < model->columnCount(); ++col) 
	{
        header << model->headerData(col, Qt::Horizontal).toString();
    }
    stream << header.join(",") << "\n";

    // 写入数据行
    for (int row = 0; row < model->rowCount(); ++row) 
	{
        QStringList rowData;
        for (int col = 0; col < model->columnCount(); ++col) 
		{
            QModelIndex index = model->index(row, col, QModelIndex());
            rowData << model->data(index).toString();
        }
        stream << rowData.join(",") << "\n";
    }

    // 关闭文件
    csvFile.close();

    QMessageBox msgBox;
	msgBox.setText("导出成功");
	msgBox.exec();
}

ps:
前提是QtableView格式很完整,表头数据都有。
model:

QStandardItemModel* model;

posted on 2024-10-15 16:08  ZanderChan  阅读(44)  评论(0)    收藏  举报

导航