读书人

VC读Excel2003文件有关问题

发布时间: 2012-03-02 14:40:29 作者: rapoo

VC读Excel2003文件问题
if(CoInitialize(NULL)==0)//初始化COM库
{
AfxMessageBox("初始化COM失败!");
//exit(1);
}

strList.AddHead("123");

CString strFilePath;
CFileDialog fd(TRUE, NULL, NULL, OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT, "*.xls|*.xls||");
if(IDOK != fd.DoModal())
{
return ;
}
strFilePath = fd.GetPathName();

Range m_CurrentRange;
_Worksheet m_WorkSheet;
Worksheets m_WorkSheets;
_Workbook m_WorkBook;
Workbooks m_WorkBooks;
_Application m_ExcelApp;

// TODO: Add your control notification handler code here
if(!m_ExcelApp.CreateDispatch(_T("Excel.Application"), NULL))
{
AfxMessageBox("创建Excel应用失败!");
return ;
}
m_ExcelApp.SetVisible(false);
//m_ExcelApp.AttachDispatch(m_ExcelApp.GetWorkbooks(), TRUE);
m_WorkBooks.AttachDispatch( m_ExcelApp.GetWorkbooks(), TRUE );
LPDISPATCH lpDisp = NULL;
COleVariant oleTrue((short)TRUE);
COleVariant oleFalse((short)FALSE);
COleVariant oleOption((long)DISP_E_PARAMNOTFOUND, VT_ERROR);
Range curCell;

lpDisp = m_WorkBooks.Open(strFilePath,
_variant_t(vtMissing),
_variant_t(vtMissing),
_variant_t(vtMissing),
_variant_t(vtMissing),
_variant_t(vtMissing),
_variant_t(vtMissing),
_variant_t(vtMissing),
_variant_t(vtMissing),
_variant_t(vtMissing),
_variant_t(vtMissing),
_variant_t(vtMissing),
_variant_t(vtMissing),
_variant_t(vtMissing),
_variant_t(vtMissing));




m_WorkBook.AttachDispatch(lpDisp, TRUE);


程序运行到下一行发生错误!请高手点拨!谢谢。

m_WorkSheet.AttachDispatch(m_WorkBook.GetActiveSheet(), TRUE);

m_CurrentRange.AttachDispatch(m_WorkSheet.GetUsedRange(), TRUE);


[解决办法]
出现啥错误?
贴出来看看。。。。。。。。。。
[解决办法]
www.codeproject.com
输入 "VC Excel"
[解决办法]
_ApplicationPtrpApplication = NULL ;
_WorkbookPtrpThisWorkbook = NULL ;
_WorksheetPtrpThisWorksheet = NULL ;
SheetsPtrpThisSheets = NULL ;
RangePtrexcelRange = NULL ;


Excel::XlFileFormatvFileFormat ;
Excel::XlSaveAsAccessModevSaveAsAccessMode ;
Excel::XlSaveConflictResolution vSaveConflictResolution ;



pApplication.CreateInstance("Excel.Application");
pApplication->PutVisible (0,VARIANT_FALSE);
pThisWorkbook = pApplication->GetWorkbooks()->Add(strPathXlt.AllocSysString()) ;
pThisSheets = pThisWorkbook->GetWorksheets() ;
pThisWorksheet = pThisSheets->GetItem((short)1);
excelRange = pThisWorksheet->GetCells();

..............
....................

pThisWorkbook->SaveAs(strFile.AllocSysString(),
(long)vFileFormat,
_variant_t(""),
_variant_t(""),
_variant_t(false),
_variant_t(false),
vSaveAsAccessMode,
(long)vSaveConflictResolution,
(long)_variant_t(false));



pThisWorkbook->Close();
pApplication->Quit();

读书人网 >VC/MFC

热点推荐