MyException - 我的异常网
当前位置:我的异常网» VC/MFC » 想用C++调用excel中“另存为”操作解决方法

想用C++调用excel中“另存为”操作解决方法

www.myexceptions.net  网友分享于:2013-04-10  浏览:118次
想用C++调用excel中“另存为”操作
想用C++调用excel中“另存为”操作,将xls文件另存为 txt文件。。因为数据量很大,不适合读取出来再存入txt.请问有什么方法,,com组件中有个save()和saveas(),都不支持。我的目的是不读取数据出来,直接“另存为”操作。
excel c++

------解决方案--------------------
参考一下
_ApplicationPtr pApplication = NULL ;
     WorkbooksPtr pWorkbooks = NULL ;
     _WorkbookPtr pThisWorkbook = NULL ;
     _WorksheetPtr pThisWorksheet = NULL ;
     SheetsPtr pThisSheets = NULL ;
     RangePtr pThisRange = NULL ;
     _variant_t vt ;
     VARIANT vOptional;
     vOptional.vt = VT_ERROR;
     vOptional.scode = DISP_E_PARAMNOTFOUND; 
     pApplication.CreateInstance("Excel.Application");
     pApplication->PutVisible (0,VARIANT_FALSE);
     pApplication->PutDisplayAlerts(0,VARIANT_FALSE); //不显示警告信息
     pApplication->PutAlertBeforeOverwriting(0,VARIANT_FALSE); //覆盖时不提示
 
     pWorkbooks = pApplication->GetWorkbooks() ;
     pWorkbooks->Open( "C:\\test.xls",  
         vOptional,   vOptional,   vOptional,   vOptional,   vOptional,   vOptional,  
         vOptional,   vOptional,   vOptional,   vOptional,   vOptional,   vOptional   
         );  
     pThisWorkbook = pWorkbooks->GetItem((short)1);
     pThisWorkbook->SaveAs("C:\\test.txt",_variant_t((short)Excel::xlText),vOptional,vOptional,_variant_t((short)FALSE),\
         vOptional,Excel::xlNoChange,vOptional,vOptional,vOptional,vOptional);
 
     pThisWorkbook->Close();
     pWorkbooks->Close();
    
     pThisWorkbook.ReleaseDispatch(); 
     pWorkbooks.ReleaseDispatch(); 
 
     pApplication->Quit();
     pApplication.ReleaseDispatch();

文章评论

软件开发程序错误异常ExceptionCopyright © 2009-2015 MyException 版权所有