VC获取Excel所有工作表名,并将其显示到一个CListCtrl控件中

 获取所有工作表名,并将其显示到一个CListCtrl控件中

 

 

BOOL GetExcelSheetList(CString sExcelFile, CListCtrl &listMx)
{

   _Worksheet m_wsExcelSingle;
 Worksheets m_wsExcels;
 _Workbook m_wbExcelSingle;
 Workbooks m_wbExcels;
 _Application m_appExcel;


 if (!m_appExcel.CreateDispatch("Excel.Application",NULL))
 {
  MessageBox(NULL,"创建Excel服务失败!","提示",MB_OK|MB_ICONWARNING|MB_TOPMOST);
  return FALSE;
 }
 m_appExcel.SetVisible(false);
 m_wbExcels.AttachDispatch(m_appExcel.GetWorkbooks(),true);
 m_wbExcelSingle.AttachDispatch(m_wbExcels.Add(_variant_t(sExcelFile)));

 m_wsExcels.AttachDispatch(m_wbExcelSingle.GetWorksheets(),true);
 for(int j=1;j<=m_wsExcels.GetCount();j++)
 {
  m_wsExcelSingle.AttachDispatch( m_wsExcels.GetItem( COleVariant( long( j ) ) ), TRUE );
  CString sVal =  m_wsExcelSingle.GetName();

  int nItem = listMx.GetItemCount();
  listMx.InsertItem(nItem,sVal); 
 }
  
 //释放对象
 COleVariant covOptional((long)DISP_E_PARAMNOTFOUND, VT_ERROR);
 m_wbExcelSingle.Close( covOptional, COleVariant( sExcelFile ), covOptional );
 m_wbExcels.Close();
 m_wsExcelSingle.ReleaseDispatch();
 m_wsExcels.ReleaseDispatch();
 m_wbExcelSingle.ReleaseDispatch();   
 m_wbExcels.ReleaseDispatch();
 m_appExcel.ReleaseDispatch();
    m_appExcel.Quit();

 return TRUE;
}

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值