1.通过QFileDialog::getSaveFileName()弹窗选择文件保存路径
2.将二进制流写入到文件中
3.进度条显示数据写入文件进度,进度条未实现
4.通过QEventLoop开启一个事件循环,实现延迟操作
QString strRevitPath = "D:\";//文件保存路径
//选择保存位置; 弹窗选择路径,默认为D盘
QString strstrFileSavePath = QFileDialog::getSaveFileName(QApplication::activeWindow(), QString::fromLocal8Bit("导出excel文件"), strRevitPath,
QString::fromLocal8Bit("Excel 工作簿(*.xlsx)"));
//进度条 0
//pProcessBar->updateStep(0);
QByteArray outArr;//二进制流
QEventLoop *loop = new QEventLoop;
QFile file(strstrFileSavePath);
file.open(QIODevice::WriteOnly);
//开启一个事件循环,2秒后退出
QTimer::singleShot(2000, loop, SLOT(quit()));
//进度条 50
//pProcessBar->updateStep(50);
loop->exec();
file.write(outArr);
file.close();
QTimer::singleShot(2000, loop, SLOT(quit()));
//进度条 100
//pProcessBar->updateStep(100);
//pProcessBar->updatePrompt(QString::fromLocal8Bit("导出完成"));
loop->exec();