我新开了线程新建和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;