关于QT保存EXCEL文件的问题

我新开了线程新建和ECEL并写入和保存, 在主函数里有一个按钮,按钮按一次就会进入EXCEL线程,线程里完成了新建EXCEL工作簿,写入以及保存的工作,可是每一次线程结束后保存的文件都会覆盖上一次保存的文件,怎么解决?
void QExcelThread::run()
{
CoInitializeEx(NULL, COINIT_MULTITHREADED);
excel = new QAxObject(this);
excel->setControl("Excel.Application");
excel->dynamicCall("SetVisible (bool Visible)","false")
excel->setProperty("DisplayAlerts", false);//

workBooks = excel->querySubObject("Workbooks");// 获取工作簿集合
workBooks->dynamicCall("Add"); // 新建一个工作簿
workBook = excel->querySubObject("ActiveWorkBook"); // 获取当前工作簿
sheets = workBook->querySubObject("WorkSheets");

QExcelThread::selectSheet("Sheet1");
while(!bStop)
 QExcelThread::setCellString(cnt+1, 1, "add");

workBook->dynamicCall("SaveAs(const QString&)", QDir::toNativeSeparatr(savePath+ timestr + ".xlsx"h "));
QExcelThread::close();
    }

    #已解决,把时间放入到线程里去,每次都更新时间,就不会覆盖了
    void QExcelThread::run()

{
QDateTime datetime;
QTime current_time;
QString timestr=datetime.currentDateTime().toString("yyyyMMddHHmmss");//文件保存名//日期和时间
QString timestr1;

c++
weixin_44156978
I_P free 知道问题出在哪里了。每次存文件的时候都是以当前时间命名,但是我发现程序运行时候当前时间一直不变
10 个月之前 回复

1个回答

就是说你每次进线程new了,QT是自动析构。那你可以考虑下每次进线程新建的工作薄保存到一个能随时访问的地方。希望有帮助。。。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!