天天看点

Qt如何将数据保存成CSV文件

一、csv文件

csv文件是逗号分隔值(Comma-Separated Values,CSV)文件的缩写,其文件以纯文本形式存储表格数据(数字和文本),各个字段用逗号进行分割,采用回车进行换行。由于采用纯文本记录,csv文件可以很方便的被文本处理工具、excel等工具识别。

二、Qt中导出csv文件

在Qt中打开与保存csv文件十分方便,直接按照普通文本的形式操作,用QTextStream进行标准化的读写,还是很简单。

具体例如:

void mainwindow::OnExportBtnClicked()
{
    //1.选择导出的csv文件保存路径
    QString csvFile = QFileDialog::getExistingDirectory(this);
    if(csvFile.isEmpty())
       return;
    
    //2.文件名采用系统时间戳生成唯一的文件
    QDateTime current_date_time =QDateTime::currentDateTime();
    QString current_date =current_date_time.toString("yyyy_MM_dd_hh_mm_ss");
    csvFile += tr("/%1_DTUConfigInfo_export_%2.csv").arg(username).arg(current_date);
    
    //3.用QFile打开.csv文件 如果不存在则会自动新建一个新的文件
    QFile file(csvFile);
    if ( file.exists())
    {
        //如果文件存在执行的操作,此处为空,因为文件不可能存在
    }
    file.open( QIODevice::ReadWrite | QIODevice::Text );
    statusBar()->showMessage(tr("正在导出数据。。。。。。"));
    QTextStream out(&file);
    
    //4.获取数据 创建第一行
    out<<tr("UID,")<<tr("sysID,")<<tr("UsrID,")<<tr("MeterNum,")<<tr("CMD,\n");//表头
    //其他数据可按照这种方式进行添加即可

    //5.写完数据需要关闭文件
    file.close();
}

           

继续阅读