Qt使用QAxObject操作Excel,在线程中调用失败解决办法

Qt使用QAxObject操作Excel,在线程中调用失败
前几天在论坛学到了如何使用QAxObject操作Excel表格,现在已经能够成功调用,实现了对Excel表格数据的读取。
  但是今天在改进代码过程中却遇到了奇怪的问题:
  由于连续读取Excel表格大量数据是个耗时操作,阻塞了GUI线程,我决定使用多线程机制。新建一个QThread子类,在run函数加入Excel连接的语句。于是问题出现了,同样的代码,在GUI线程下执行,没有问题,在新建的线程里面执行,却报了如下错误:
C/C++ code

    CoCreateInstance failure (??δ???? CoInitialize??)
    QAxBase::setControl: requested control Excel.Application could not be instantiated



  于是我开始调试,发现错误是出现在第一步初始化Excel COM组件的时候。代码如下:
C/C++ code

    QAxObject * excelApplication = new QAxObject("Excel.Application");



  为了进一步做对比,我简化了函数,GUI主类MainWindow构造函数语句如下:
C/C++ code

    QAxObject * excelApplication = new QAxObject("Excel.Application");
    excelApplication->dynamicCall("Quit()");
    qDebug() << tr("------分隔符------");
    mt = new myThread();
    mt->start();



  myThread的run函数:
C/C++ code

    QAxObject * excelApplication = new QAxObject("Excel.Application");



  编译之后报错:
C/C++ code

"------分隔符------" 
CoCreateInstance failure (??δ???? CoInitialize??)
QAxBase::setControl: requested control Excel.Application could not be instantiated



  可以看出前面的GUI线程中的操作是没有报错的,而后面在线程中执行的操作却报错了。希望大家能够帮我解决该疑惑,谢谢!

------解决方案--------------------
http://hi.baidu.com/cyclone/blog/item/15e4e950807743521038c2ab.html