QT读取word文档中的全部文本

最近的一个小项目需要从大量的word文档中提取部分文档,进行处理后,再和其它文档中的数据进行匹配。

下面的代码完成了提取word文档中全部字符串的功能。代码是基于windows 平台的,采用的com技术,虽然这个技术已经很古老

了,但是依然可以达到目的。

如果在执行过程中出现一些形如:

"QAxBase: Error calling IDispatch member XXX: Exception thrown by server"

的错误提示,请检查确认office是否激活。

 

    QString filepath;
    QString docx_text_info;
    filepath=tr("D:\\test.docx");
    QAxWidget *m_word = new QAxWidget("Word.Application");
    m_word->setProperty("Visible",false);
        QAxObject *m_document = m_word->querySubObject("Documents");
            QAxObject *m_docx = m_document->querySubObject("Open(const QString&)",filepath);
                QAxObject *m_pRange;
                m_pRange=m_docx->querySubObject("Range()");
                docx_text_info=m_pRange->property("Text").toString();
                delete m_pRange;
                qDebug()<<docx_text_info;
            //m_docx->dynamicCall("SaveAs(const QString&)", filepath);
            //m_docx->dynamicCall("Save()");
            m_docx->dynamicCall("Close()");
            delete m_docx;
       m_document->dynamicCall("Close()");
       delete m_document;
    m_word->clear();
    delete m_word;

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值