VC6下MFC通過ODBC操作Excel

在stdafx.h頭文件中引入ODBC的頭文件:
#include <afxdb.h> 
#include <odbcinst.h>


void CExcelTestDlg::OnButton2() 
{
	CDatabase db;
	CString path="D:\\123.xlsx";
	CString strDriver="MICROSOFT EXCEL DRIVER (*.XLS, *.xlsx, *.xlsm, *.xlsb)";
	CString sDsn;
	sDsn.Format("DRIVER={%s};DSN='';FIRSTROWHASNAMES=1;READONLY=FALSE;CREATE_DB=\"%s\";DBQ=%s",strDriver,path,path);//FIRSTROWHASNAMES=1表示第一行爲列名
	
	db.OpenEx(sDsn,CDatabase::noOdbcDialog);//注意用OpenEx不用Open

	CStringArray arr;
	CString val;
	CRecordset prs(&db);
	if (prs.Open(CRecordset::forwardOnly,"SELECT * FROM [Sheet1$]",CRecordset::readOnly))//Sheet1爲工作簿名稱
	{
		while(!prs.IsEOF())
		{
			prs.GetFieldValue("fieldName",val);
			arr.Add(val);
			prs.MoveNext();
		}
		prs.Close();
	}
	db.Close();

	val.Format("%d",arr.GetSize());
	MessageBox(arr.GetAt(0)+"count:"+val);

}

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章