当前位置: 代码迷 >> QT开发 >> QT 读取word文档里的文本。该怎么解决
  详细解决方案

QT 读取word文档里的文本。该怎么解决

热度:18   发布时间:2016-04-25 03:52:19.0
QT 读取word文档里的文本。
如何用QT获取一个word里的文本内容(假设word里只有文本),求大神指点。
文档 Qt Word

------解决方案--------------------
引用:
Quote: 引用:

Quote: 引用:

Quote: 引用:

QString line;
    QFile fileread( "hello.txt" );
        if ( fileread.open( QFile::ReadOnly ) ) {
            QTextStream stream( &fileread );
            while ( !stream.atEnd() ) {
                line = stream.readLine();
                qDebug()<<line;
            }
            fileread.close();
        }

这样不就可以吗??.txt的
只是word乱码,需要编解码转码什么的


当然不可以啊,就是因为直接读乱码所以才问的。求其它有效方法。

自己转码吧。。。
之前搞个QFtp的,也是要这样、、、还要转两次、、、上传两次下载两次无语。。。整了我好久,虽然写出来后觉得好像很简单。。。只是几句话、、、


请问qt里有转码功能吗?如果有的话可否透露一下。

我想肯定有吧!!

QTextCodec *codec = QTextCodec::codecForName("UTF8");
        fn = ui->fileList->currentItem()->text(0);
        QByteArray encodedString = codec->fromUnicode(fn);
        xiazaiwenjian = fn.fromLatin1(encodedString,-1);
        //    file = new QFile(fn);
        file = new QFile(xiazaiwenjian);

这是之前ftp的,这里肯定是不能照搬的。
自己转码的话就差不多类似这样写,你得先去知道word里的编码是什么,还有你的编辑环境的字符串编码,编辑环境的字符串编码一般应该都是gbk、gb2312、gb18030或者utf8的。接着就要去了解各种编码之间是怎么转换的,也就是具体该怎么写,这个就去百度,应该能百度到的,当初ftp整死我,百度N次都无果,后来看到一篇博客说ftp的各种编码转换,然后只能按他所说自己写,还好是写出来了。
Qtcreator里的工具->选项->文本编辑器->行为,这里可以改文件默认编码,也可能跟这里的编码有点关系~~
就给你这个思路咯~~当初就这么走过来的。加油咯~~
搞定了记得在这分享解决方案,开源则更好~~
------解决方案--------------------
activeqt,楼主有空研究下
  相关解决方案