如何使用Qt操作word,实现插入图片和表格的功能?
操作word的步骤:1.新建一个文件,在绘制好的表格需要插入数据的地方设置书签(插入-书签),另存为模版文件(.dot)。
2.新建一个Qt工程,在main文件中如下定义:#includechar*argv[]){QApplicationapp(argc,argv);//新建一个word应用程序,并设置为可见QAxWidget*word=newQAxWidget(Word.Application,0,Qt::MSWindowsOwnDC);word-setProperty(Visible,true);//获取所有的工作文档QAxObject*documents=word-querySubObject(Documents);//以文件template.dot为模版新建一个文档documents-dynamicCall(Add(QString),QString::fromLocal8Bit(D:/template.dot));//获取当前激活的文档QAxObject*document=word-querySubObject(ActiveDocument);//获取文档中名字为text的标签QAxObject*bookmark_text=document-querySubObject(Bookmarks(QVariant),code);//选中标签,将字符InsertText插入到标签位置if(!bookmark_text-isNull()){bookmark_text-dynamicCall(Select(void));bookmark_text-querySubObject(Range)-setProperty(Text,InsertText);}//获取文档中名字为pic的标签QAxObject*bookmark_pic=document-querySubObject(Bookmarks(QVariant),code);//选中标签,将图片插入到标签位置if(!bookmark_pic-isNull()){bookmark_pic-dynamicCall(AddPicture(void));bookmark_pic-querySubObject(Range)-setProperty(InlineShape,D:/waitting.gif);}//将文件另存为docbyqt.doc,关闭工作文档,退出应用程序
如何使用Qt操作word,实现插入图片和表格的
使用Qt操作word的步骤:1. 新建一个文件,在绘制好的表格需要插入数据的地方设置书签(插入-书签),另存为模版文件(.dot),以D:/template.dot为例。
2. 进入QT界面,选择新建工程,在跳出的选项中选择其他项目—空的Qt项目,选择继续。
3. 在main文件中几个主要步骤参考:1)新建一个word应用程序,并设置为可见.2)获取所有的工作文档并以文件template.dot为模版新建一个文档3)获取当前激活的文档。
4)获取文档中名字为text的标签。
5)选中标签,将字符InsertText插入到标签位置。
6)获取文档中名字为pic的标签。
7)选中标签,将图片插入到标签位置。
8)将文件另存为docbyqt.doc,关闭工作文档,退出应用程序。
QT 读取文件写入Qtablewidget中
展开全部 1、HeatUser类 class HeatUser{public: HeatUser(){ } HeatUser(QString name, float flow, float distance, short time){ strcpy(Name, name.toLocal8Bit().data()); Flow = flow; Distance = distance; Time = time; } ~HeatUser(){ } QString getName(){ return Name; } QString getFlow(){ return QString("%1").arg(Flow); } QString getDistance(){ return QString("%1").arg(Distance); } QString getTime(){ return QString("%1").arg(Time); }private: char Name[30]; float Flow; float Distance; short Time;};2、对象初始化 QFile file("aa.txt"); if(file.open(QIODevice::ReadOnly)) { QTextStream stream(&file); while(!stream.atEnd()) { QStringList list = stream.readLine().split(QRegExp("\\s+")); HeatUser hUser(list.at(0), static_cast(list.at(1)).toFloat(), static_cast(list.at(2)).toFloat(), static_cast(list.at(3)).toShort()); vec.push_back(hUser); } }3、文件内容 aa 126.0 22.6 99bb 165.0 23.6 1004、写入Qtablewidget ui->tableWidget->setRowCount(2); //设置行数为2 ui->tableWidget->setColumnCount(4); //设置列数为4 QStringList header; header tableWidget->setHorizontalHeaderLabels(header); for(int i = 0; i tableWidget->setItem(i,0,new QTableWidgetItem(vec[i].getName())); ui->tableWidget->setItem(i,1,new QTableWidgetItem(vec[i].getFlow())); ui->tableWidget->setItem(i,2,new QTableWidgetItem(vec[i].getDistance())); ui->tableWidget->setItem(i,3,new QTableWidgetItem(vec[i].getTime())); }
如何用Qt打开excel并获取其中的内容?
1.如下,是下载的一个Excel VBA参考手册,内容不算太全!2.Excel读取为了便于测试,假设已存在一个excel文件,操作内容已经被红色标记出来。
如下所示:主要读取内容:标题工作表数目工作表名称起始行起始列行数列数单元格内容代码如下:QAxObject excel("Excel.Application"); excel.setProperty("Visible", true); QAxObject *work_books = excel.querySubObject("WorkBooks"); work_books->dynamicCall("Open (const QString&)", QString("E:/test.xlsx"));QVariant title_value = excel.property("Caption"); //获取标题qDebug()QAxObject *work_book = excel.querySubObject("ActiveWorkBook");QAxObject *work_sheets = work_book->querySubObject("Sheets"); //Sheets也可换用WorkSheets
Qt怎么读取zip或者gz格式的文件?
< QIODevice; } while(; str; /home/administrator/testdir/test.txt" );str(line);<  .readLine(); QString QByteArray qDebug()<!file.atEnd()) {  逐行读取 QFile file("  ::ReadOnly | = file; qDebug()<Can'  !file.open(QIODevice;t open the "  ::Text)) { if(; file!"<<endl; line ...
Qt富文本编译器怎么打开Word文档
展开全部下面代码中WINWORD.EXE的路径根据你机器上安装的Office的位置和版本来确定,或者在你的安装盘直接搜索WINWORD.EXE, 第二行写的是你要打开的word文档的文件路径。
QProcess *myProcess = new QProcess(this);myProcess->start(QString("C:/Program Files (x86)/Microsoft Office/Office15/WINWORD.EXE"), \ QStringList("D:/Docs/test.doc"));...
转载请注明出处51数据库 » qt qaxobject读取word
少年不瞒心5815900