VC怎样读取Excel文件中某个具体的单元格的内容解决方法

VC怎样读取Excel文件中某个具体的单元格的内容
如题,请问怎样读取Excel中某个具体的单元格的内容,用OLE的方式,不是一列或很多单元格。
------解决方案--------------------
给你个参考程序:
//把识别结果和真值进行比对,结果写到EXCEL里面
void WriteToExcel(CString* data , int n)
{
/************* WriteToExcel *********************************
Function  :   把识别结果和真值进行比对,结果写到EXCEL里面
Algorithms :  比对
Parameter : CString * data --> 识别结果数组
Parameter : int n --> 识别结果的个数
Return    :   
Date        : 2012/09/01  22:37     **************************/

Range m_ExlRge; 
_Worksheet m_ExlSheet; 
Worksheets m_ExlSheets; 
_Workbook m_ExlBook; 
Workbooks m_ExlBooks; 
_Application m_ExlApp; 

CString realSN[1200]; // 真实编码

if(!AfxOleInit())///初始化COM库
{
AfxMessageBox(_T("初始化COM失败"));

if(!m_ExlApp.CreateDispatch(_T("Excel.Application"),NULL))   
{   
AfxMessageBox(_T("创建Excel服务失败!"));   
return;   
}   

m_ExlApp.SetVisible(FALSE);   
 
CString theAppPath;  
//TOD,O:==标准字符设置
CString TempPath;
if (ceshi)
{
TempPath = _T("d:\\bz483z.xls");//EXCEL模板的路径    

else
{
TempPath = _T("d:\\bz300.xls");//EXCEL模板的路径    
}

m_ExlBooks.AttachDispatch(m_ExlApp.GetWorkbooks(),TRUE);   
m_ExlBook.AttachDispatch(m_ExlBooks.Add((_variant_t)TempPath),TRUE);//加载EXCEL模板    
m_ExlSheets.AttachDispatch(m_ExlBook.GetSheets(),TRUE);//加载Sheet页面    

//修改Sheet页面的名称,第一页从1开始,不是0哦!后面涉及到编号的地方都是如此,要注意阿   
m_ExlSheet.AttachDispatch(m_ExlSheets.GetItem(_variant_t((long)1)),TRUE);   
//开始向各个单元格填入数据   
m_ExlRge.AttachDispatch(m_ExlSheet.GetCells(),TRUE);//加载所有单元格   

CString str;
VARIANT vMsg;
char cMsg[20];

for (int i = 0; i < 483 ; i++)
{
vMsg=m_ExlRge.GetItem(_variant_t((long)(i+1)) ,_variant_t((long)1));
_bstr_t bMsg=(_bstr_t)vMsg;
strcpy(cMsg , bMsg);
str=cMsg;
realSN[i]=str;
}

CString tem;
int blankN=0;
for(int i=0;i<n;i++)
{
tem=cmpStr(realSN[i] ,data[i]);

m_ExlRge.SetItem(_variant_t((long)(i+1)),_variant_t((long)1),_variant_t((LPCTSTR)realSN[i]));   
m_ExlRge.SetItem(_variant_t((long)(i+1)),_variant_t((long)2),_variant_t((LPCTSTR)data[i]));  
m_ExlRge.SetItem(_variant_t((long)(i+1)),_variant_t((long)3),_variant_t((LPCTSTR)tem));   

if (tem != _T(""))
{
blankN++;
}
}

tem.Format(_T("张数为 : %d") ,blankN);
m_ExlRge.SetItem(_variant_t((long)(n+2)),_variant_t((long)3),_variant_t((LPCTSTR)tem));   

SYSTEMTIME st;
GetLocalTime(&st);

CString path;
path.Format(_T("D:\\比对结果\\bidui%02d%02d%02d%02d.xls"),st.wMonth,st.wDay,st.wHour,st.wMinute);

//将编辑完成的内容保存为新文件,这里的文件名可以根据需要动态产生。   
m_ExlSheet.SaveAs( path,vtMissing,vtMissing,vtMissing,vtMissing,vtMissing,vtMissing,vtMissing,vtMissing,vtMissing);  

//释放对象   
m_ExlRge.ReleaseDispatch();   
m_ExlSheet.ReleaseDispatch();   
m_ExlSheets.ReleaseDispatch();   
m_ExlBook.ReleaseDispatch();   
m_ExlBooks.ReleaseDispatch();   
//m_ExlApp一定要退出程序,否则程序结束后还会有一个Excel进程驻留在内存中,而且程序重复运行的时候会出错    
m_ExlApp.Quit();   
m_ExlApp.ReleaseDispatch();   
}