終於完成了ADO對Excel的逐行讀取

2021-05-24 12:58:57 字數 2363 閱讀 8581

1.

首先建立win32控制台程式

2.

在stdafx.h的合適位置加上

#import "c:/program files/common files/system/ado/msado15.dll" no_namespace rename("eof","adoeof") rename("bof","adobof") 

我是加在

#include //- mfc core and standard components

#include //- mfc extensions

這兩行的下面,不然會產生莫名的錯誤,我沒搞懂

3.

下面就是主程式了:

// 初始化com,建立ado連線

coinitialize(null);

_connectionptr  m_pconnection=null;

m_pconnection.createinstance(__uuidof(connection));

//獲得excel檔名和路徑

cstring excelname;

cfiledialog mydlg(true, null,_t("xls"),ofn_hidereadonly | ofn_overwriteprompt, _t("worksheet files (*.xls)|*.xls"), null);

if (mydlg.domodal()==idok)

try                   

catch(_com_error   e)

// 使用ado建立資料庫記錄集

_recordsetptr   m_precordset;

m_precordset.createinstance(__uuidof(recordset));

try

catch(_com_error  e)

//讀取表內資料

_variant_t var;  

cstring sdianming,sbianma,sx,sy,sh; 

try 

// 讀入庫中各欄位

while(!m_precordset->adoeof)  

{  i++;

var = m_precordset->getcollect(_t("f1"));  

if(var.vt != vt_null)  

sdianming = (lpcstr)_bstr_t(var);

wcsncpy(dianming,sdianming.getbuffer(),100);

sdianming.releasebuffer();

var = m_precordset->getcollect(_t("f2"));  

if(var.vt != vt_null)  

sbianma = (lpcstr)_bstr_t(var);

wcsncpy(bianma,sbianma.getbuffer(),100);

sbianma.releasebuffer();

var = m_precordset->getcollect(_t("f3"));  

if(var.vt != vt_null)  

sx = (lpcstr)_bstr_t(var);

_tempchar = sx.getbuffer();

sx.releasebuffer();

x=_tstof(_tempchar);

var = m_precordset->getcollect(_t("f4"));  

if(var.vt != vt_null)  

sy = (lpcstr)_bstr_t(var);

_tempchar = sy.getbuffer();

sy.releasebuffer();

y=_tstof(_tempchar);

var = m_precordset->getcollect(_t("f5"));  

if(var.vt != vt_null)  

sh = (lpcstr)_bstr_t(var);

_tempchar = sh.getbuffer();

sh.releasebuffer();

h=_tstof(_tempchar);

//對讀出的資料做點什麼。。。我讀的是excel中只有五列數:點名,編碼,x,y,h,用於展點的

4.關閉記錄集和資料庫連線

m_precordset-> close();

m_pconnection->close();

《Windows核心原理與實現》終於完成了

windows 核心原理與實現 終於完成了 經過將近兩年的努力,終於完成了 windows 核心原理與實現 一書。2008 年春天,我有了寫一本關於 windows 核心的書的想法,然後聯絡出版社並付諸實施。這就把兩年的業餘時間搭了進去,至少有一半的夜晚遲至 2點才睡覺。按原來的計畫,期望在 200...

《Windows核心原理與實現》終於完成了

windows 核心原理與實現 終於完成了 經過將近兩年的努力,終於完成了 windows 核心原理與實現 一書。2008 年春天,我有了寫一本關於 windows 核心的書的想法,然後聯絡出版社並付諸實施。這就把兩年的業餘時間搭了進去,至少有一半的夜晚遲至 2點才睡覺。按原來的計畫,期望在 200...

!!終於把 庫存管理的大致功能完成了!

經過三天的不懈努力,從資料庫,到軟體成型,到現在終於完成了所有大致功能,雖然軟體還非常的粗糙,很多功能沒有細化,而且沒有美工,不過總算是完成了,廢話不說,直接上圖!首先是倉庫的管理介面啦,新增介面別叫簡單,就不說明了 然後就是出入庫的管理介面,額,沒有美化,是按照時間清單來顯示的,這樣我覺得方便一點...