我想在excel中讀取某一儲存格的內容, 寫我已經辦到了, 但讀是如何做呢?  
是不是用  
CString newValue;  
newValue=range.GetItem(COleVariant((long)(1)),COleVariant((long)(1))).bstrVal;  
但我在newValue中根本看不到我所要的儲存格中"abcd"等字符.上面的語句有問題嗎?  
程式如下:  
_Application app;     // app is an _Application object.  
_Workbook book;       // More object declarations.  
_Worksheet sheet;  
Workbooks books;  
Worksheets sheets;  
Range range;          // Used for Microsoft Excel 97 components.  
LPDISPATCH lpDisp;    // Often reused variable.  
COleVariant  
covTrue((short)TRUE),  
covFalse((short)FALSE),  
covOptional((long)DISP_E_PARAMNOTFOUND, VT_ERROR);  
if(!app.CreateDispatch("Excel.Application"))  
{  
AfxMessageBox("Couldn't CreateDispatch() for Excel");  
return;  
}  
app.SetVisible(TRUE);  
lpDisp = app.GetWorkbooks();     // Get an IDispatch pointer.  
ASSERT(lpDisp);  
books.AttachDispatch(lpDisp);    // Attach the IDispatch pointer  
// to the books object.  
lpDisp=books.Open("g:\\xls\\book1.xls", // *.xls is a workbook.  
covOptional,covOptional,covOptional,covOptional,  
covOptional,covOptional,covOptional,covOptional,covOptional,covOptional,  
covOptional,covOptional);  // Return Workbook's IDispatch pointer.  book.AttachDispatch( lpDisp );  
lpDisp = book.GetSheets();  
ASSERT(lpDisp);  
sheets.AttachDispatch(lpDisp);  
// Get sheet #1 and attach the IDispatch pointer to your sheet  
// object.  
lpDisp = sheets.GetItem( COleVariant((short)(1)) );  
ASSERT(lpDisp);  
sheet.AttachDispatch(lpDisp);  
lpDisp = sheet.GetRange(COleVariant("A1"), COleVariant("A10"));  
range.AttachDispatch(lpDisp);  
range.SetNumberFormat(COleVariant("@"));  
VARIANT newValue;  
CString a;  
//COleVariant(LPCTSTR("111111"))  
//newValue=range.GetItem(_variant_t((long)1),vtMissing).pdispVal;  
a=range.GetItem(COleVariant((long)(1)),COleVariant((long)(1))).bstrVal;  
//range.GetItem(COleVariant((long)(1)),COleVariant((long)(1)));  //rgMyRge.AttachDispatch(rgMyRge.GetItem(_variant_t((long)1),vtMissing).pdispVal,true);    
// range.AttachDispatch(range.GetItem(_variant_t((long)1),vtMissing).pdispVal,true);  
//a=newValue.bstrVal;  
//SET FONT color:  
Font newfont;  
lpDisp=range.GetFont();  
newfont.AttachDispatch(lpDisp);  
//newfont.SetColor(COleVariant(short RGB(255,0,0)));  
newfont.SetColor(COleVariant(long RGB(0,0,255)));  
  //     range.SetItem(COleVariant((long)(1)),COleVariant((long)(1)),COleVariant(LPCTSTR("111111")));  
CString newValue;  
newValue=range.GetItem(COleVariant((long)(1)),COleVariant((long)(1))).bstrVal;  謝謝!