qt操作.csv文件转换为.xlsx文件
qt操作.csv文件
#includevoid MainWindow::csvToXlsx(QString theFilePath)
{QFile file(theFilePath);QDir dir;dir.setPath(theFilePath);if(!theFilePath.contains(".Csv")){qDebug()<<"传入的文件类型不是.Csv文件"<<endl;QMessageBox::warning(this,"警告","传入的文件类型不是.Csv文件",QMessageBox::Ok);return;}QString absPath = dir.absolutePath();qDebug()<<"绝对路径:"<<absPath<<endl;QStringList pathStrList = absPath.split("/");QString tempPath;for(int index=0;index <pathStrList.count()-1;index++){tempPath += QString("%1/").arg(pathStrList.at(index));}qDebug()<<"传进来的文件路径为"<<tempPath<<endl;dir.setPath(tempPath);if(!dir.exists(pathStrList.at(pathStrList.count()-1))){qDebug()<<(pathStrList.at(pathStrList.count()-1))+"此文件不存在,请自行检查";QMessageBox::warning(this,"警告",(pathStrList.at(pathStrList.count()-1))+"此文件不存在,请自行检查",QMessageBox::Ok);return;}QString aimPath;for(int index =0;index <pathStrList.count(); index++){if(index< pathStrList.count() -1){aimPath += QString("%1\\").arg(pathStrList.at(index));}else{QString aimName = pathStrList.at(index).split(".").at(0);aimPath += QString("%1.xlsx").arg(aimName);}}qDebug()<<"aimPath = "<<aimPath<<endl;if(!file.open(QIODevice::ReadOnly | QIODevice::Text)){qDebug()<<"此.Csv文件打开失败"<<endl;return;}int countRow=0,colCount=0;QTextStream stream(&file);QString aLine = stream.readLine();QStringList strSplitList = aLine.split(",");colCount = strSplitList.count();qDebug()<<"aLine = "<<aLine<<endl;qDebug()<<"strSplitList = "<<strSplitList<<endl;qDebug()<<"colCount ="<<colCount<<endl;QString rangeStart = QString("A");QString rangeEnd = QString("%1").arg((char)('A'+colCount-1));QString range;QAxObject* excel = new QAxObject("Excel.Application");excel->setControl("Excel.Application");excel->setProperty("Visible",false);excel->setProperty("DisplayAlerts",false);QAxObject* workbooks = excel->querySubObject(<
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!