线程中读取Excel数据?怎么实现?

线程中读取Excel数据?如何实现?!!
线程中读取Excel数据?如何实现?!!
我在线程中创建Excel对象成功.能调用Excel,可看到Excel打开文件.
但无法读取数据.程序到第6行报错.不在线程中运行,以下代码正确.
---------------------------
Debugger   Exception   Notification
---------------------------
Project   *.exe   raised   exception   class   EOleSysError   with   message   '应用程序调用一个已为另一线程整理的界面。 '.   Process   stopped.   Use   Step   or   Run   to   continue.
---------------------------
确定(O)       帮助(H)      
---------------------------

        Excel:=UnAssigned;
        Excel:=CreateOleObject( 'Excel.Application ');
        Excel.Visible:=true;
        Excel.DisplayAlerts:=false;
        book:=Excel.WorkBooks.Open(Ffilename);
        iRowCnt:=sheet.UsedRange.cells.Count;
        iColCnt:=sheet.UsedRange.Columns.Count;
        for     i:=1     to     iRowCnt   do
        begin
            for     i:=1     to     iColCnt   do
            begin
                .................
            end;
        end;


------解决方案--------------------
两个线程同时读一个excel文件本来就不行
------解决方案--------------------
楼上的。我只在一个线程打开Excel,没有其他Excel对象运行!
------解决方案--------------------
也可以使用ado访问excel,只要不存在并发访问,访问excel与线程无关
------解决方案--------------------
定义线程函数
function MyThreadFunc(pi :Pointer): DWORD; stdcall;
begin
.......执行的过程。。。。。
end;
建立线程用APID
var
thrd_Down:Thandle;
thrd_Down := CreateThread(nil,0, @MyThreadFunc, Ptr(i), 0, ThreadID);
closehandle(thrd_Down);
CreateThread()//这个就看一下帮助里面的参数如何设置了