现在的位置: 首页 > 综合 > 正文

vc读取excel文件

2013年06月01日 ⁄ 综合 ⁄ 共 1047字 ⁄ 字号 评论关闭

void CPreviewDlg::InitListRowText(void)

{

 _ConnectionPtr m_pConnect;    //ADO对象,下同

 _RecordsetPtr m_pRecordset;

 m_pConnect.CreateInstance(__uuidof(Connection));

 m_pRecordset.CreateInstance(__uuidof(Recordset));

 CString sql;

 sql = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=";

 sql+=GloubleStrPath;//EXCEL文件绝对路径+它自己的文件名。

 sql += _T(";Extended Properties=\"Excel 8.0;HDR=No;IMEX=1\"");

 m_pConnect->Open((_bstr_t)sql,"","",adModeUnknown);

 m_pRecordset->Open("select * from [Sheet1$]", m_pConnect.GetInterfacePtr(), adOpenDynamic, adLockOptimistic,adCmdText);//[iomstats]就是excel左下的[sheet]修改名。

 CString str;

 int n=0;

 while(!m_pRecordset->adoEOF)

 {

  str=(LPCSTR)_bstr_t(m_pRecordset->GetCollect(_variant_t(0L)));

  m_ctrListTableColumn.InsertItem(n,str );

  str=(LPCSTR)_bstr_t(m_pRecordset->GetCollect(_variant_t(1L)));

  m_ctrListTableColumn.SetItemText(n,1,str);

  str=(LPCSTR)_bstr_t(m_pRecordset->GetCollect(_variant_t(2L)));

  m_ctrListTableColumn.SetItemText(n,2,str);

  m_pRecordset->MoveNext();

  if (n>=10)

  {

   break;

  }

  n++;

 }

 m_pRecordset->Close();

 m_pConnect->Close();

}

抱歉!评论已关闭.