📄 用vc读取excel中的数据_向风一样吹过.mht
字号:
LETTER-SPACING: normal
}
#usrbar A {
LETTER-SPACING: normal
}
#usrbar A:link {
LETTER-SPACING: normal
}
#usrbar A:visited {
LETTER-SPACING: normal
}
#ft {
LETTER-SPACING: normal
}
#ft A {
LETTER-SPACING: normal
}
#ft A:link {
LETTER-SPACING: normal
}
#ft A:visited {
LETTER-SPACING: normal
}
</STYLE>
<DIV id=3Dusrbar><NOBR><A href=3D"http://www.baidu.com/" =
target=3D_blank>=B0=D9=B6=C8=CA=D7=D2=B3</A> | <A=20
id=3Dhi_index href=3D"http://hi.baidu.com/" =
target=3D_blank>=B0=D9=B6=C8=BF=D5=BC=E4</A>
<SCRIPT type=3Dtext/javascript>=0A=
document.write('| <a =
href=3D"http://passport.baidu.com/?login&tpl=3Dsp&tpl_reg=3Dsp&u=3Dhttp:/=
/hi.baidu.com' + =
encodeURIComponent('/xydjh/blog/item/03ab7ad1925aa5d0572c8483%2Ehtml') + =
'">=B5=C7=C2=BC</a>');=0A=
</SCRIPT>
</NOBR></DIV>
<DIV id=3DnewUserTip=20
style=3D"Z-INDEX: 30000; RIGHT: 0px; FLOAT: right; WIDTH: 220px; =
POSITION: absolute; TOP: 26px; HEIGHT: 90px; TEXT-ALIGN: right"><A=20
id=3DnewUserTipShadow=20
style=3D"DISPLAY: block; FONT-SIZE: 14px; Z-INDEX: 30001; RIGHT: 120px; =
BACKGROUND: none transparent scroll repeat 0% 0%; OVERFLOW: hidden; =
WIDTH: 55px; COLOR: #4242f9! important; POSITION: absolute; TOP: 68px; =
HEIGHT: 14px; TEXT-DECORATION: none! important"=20
onclick=3DnewUserRegLog()=20
href=3D"http://passport.baidu.com/?reg&tpl=3Dsp&return_method=3Dg=
et&skip_ok=3D1&u=3Dhttp://hi.baidu.com/sys/reg/"=20
target=3D_blank> &nb=
sp; </A>=20
<EMBED id=3DnewUserTipSwf style=3D"WIDTH: 220px; HEIGHT: 90px"=20
src=3Dhttp://hi.baidu.com/ui/flash/userReg/guide.swf=20
type=3Dapplication/x-shockwave-flash wmode=3D"transparent"=20
allowScriptAcess=3D"always"> </DIV>
<SCRIPT language=3Djavascript>=0A=
<!--=0A=
=0A=
function newUserTipShow(f)=0A=
{=0A=
if(f=3D=3D"0"){//close=0A=
G("newUserTipSwf").style.width=3D"40px";=0A=
G("newUserTip").style.width=3D"40px"; =0A=
G("newUserTipShadow").style.display=3D"none";=0A=
}else{//show=0A=
G("newUserTip").style.width=3D"220px";=0A=
G("newUserTipSwf").style.width=3D"220px";=0A=
G("newUserTipShadow").style.display=3D"block";=0A=
=0A=
}=0A=
}=0A=
=0A=
function newUserRegLog(){=0A=
=0A=
}=0A=
//-->=0A=
</SCRIPT>
<SCRIPT type=3Dtext/javascript>=0A=
=0A=
function set_cookie_4_bdtip(index/* start from one */, value){=0A=
var bdtip =3D document.cookie.match(/(^| )BDTIP=3D([^;]*)(;|$)/);=0A=
if(!bdtip){=0A=
bdtip=3Dnew Array(index);=0A=
for(var i=3D0,n=3Dbdtip.length;i<n;i++)=0A=
{=0A=
if(bdtip[i]=3D=3D"" || bdtip[i]=3D=3Dnull) bdtip[i]=3D0;=0A=
if(i =3D=3D index - 1){=0A=
bdtip[i] =3D value;=0A=
}=0A=
}=0A=
}else{=0A=
bdtip =3D bdtip[2].split('-');=0A=
if(index > bdtip.length) bdtip.length=3D index;=0A=
for(var i =3D 0, j =3D bdtip.length; i < j; i ++){=0A=
if(bdtip[i]=3D=3D"" || bdtip[i]=3D=3Dnull) bdtip[i]=3D0;=0A=
if(i =3D=3D index - 1){=0A=
bdtip[i] =3D value;=0A=
}=0A=
}=0A=
}=0A=
bdtip =3D bdtip.join('-');=0A=
document.cookie =3D "BDTIP=3D" + bdtip+ ";expires=3DWed, 28-Nov-37 =
01:45:46 GMT;path=3D/;domain=3D.baidu.com";=0A=
}=0A=
</SCRIPT>
<DIV id=3Dmain align=3Dleft><!--[if IE]>
<SCRIPT>
var objmain =3D document.getElementById("main");
function updatesize(){ var bodyw =3D window.document.body.offsetWidth; =
if(bodyw <=3D 790) objmain.style.width=3D"772px"; else if(bodyw >=3D =
1016) objmain.style.width=3D"996px"; else objmain.style.width=3D"100%"; =
}
updatesize(); window.onresize =3D updatesize;
</SCRIPT>
<![endif]-->
<DIV id=3Dheader>
<DIV class=3Dlc>
<DIV class=3Drc></DIV></DIV>
<DIV class=3Dtit><A class=3Dtitlink title=3D"deyinzhao=B5=C4=BF=D5=BC=E4 =
http://hi.baidu.com/xydjh"=20
href=3D"http://hi.baidu.com/xydjh">=CF=F2=B7=E7=D2=BB=D1=F9=B4=B5=B9=FD</=
A></DIV>
<DIV class=3Ddesc>Enjoy yourself,Enjoy the world!</DIV>
<DIV id=3Dtabline></DIV>
<DIV id=3Dtab><A href=3D"http://hi.baidu.com/xydjh">=D6=F7=D2=B3</A><A =
class=3Don=20
href=3D"http://hi.baidu.com/xydjh/blog">=B2=A9=BF=CD</A><A=20
href=3D"http://hi.baidu.com/xydjh/album">=CF=E0=B2=E1</A><SPAN>|</SPAN><A=
=20
href=3D"http://hi.baidu.com/xydjh/profile">=B8=F6=C8=CB=B5=B5=B0=B8</A> =
<SPAN>|</SPAN><A=20
href=3D"http://hi.baidu.com/xydjh/friends">=BA=C3=D3=D1</A> </DIV></DIV>
<DIV class=3Dstage>
<DIV class=3Dstagepad>
<DIV style=3D"WIDTH: 100%">
<TABLE class=3Dmodth cellSpacing=3D0 cellPadding=3D0 width=3D"100%" =
border=3D0>
<TBODY>
<TR>
<TD class=3Dmodtl width=3D7> </TD>
<TD class=3Dmodtc noWrap>
<DIV class=3Dmodhead><SPAN =
class=3Dmodtit>=B2=E9=BF=B4=CE=C4=D5=C2</SPAN></DIV></TD>
<TD class=3Dmodtc noWrap align=3Dright></TD>
<TD class=3Dmodtr width=3D7> </TD></TR></TBODY></TABLE>
<DIV class=3Dmodbox id=3Dm_blog>
<DIV class=3Dtit>=D3=C3VC=B6=C1=C8=A1EXCEL=D6=D0=B5=C4=CA=FD=BE=DD</DIV>
<DIV class=3Ddate>2007=C4=EA10=D4=C211=C8=D5 =D0=C7=C6=DA=CB=C4 =
15:39</DIV>
<TABLE style=3D"TABLE-LAYOUT: fixed">
<TBODY>
<TR>
<TD>
<DIV class=3Dcnt id=3Dblog_text>
<P><FONT =
size=3D3>=CD=A8=B9=FDODBC=D6=B1=BD=D3=B4=B4=BD=A8Excel=CE=C4=BC=FE=B2=A2=D4=
=DA=B1=ED=D6=D0=B2=E5=C8=EB=CA=FD=BE=DD(=D4=DD=B6=A8=CE=C4=BC=FE=C3=FB=A3=
=BADemo.xls)=20
//=B4=B4=BD=A8=B2=A2=D0=B4=C8=EBExcel=CE=C4=BC=FE<BR>void =
CRWExcel::WriteToExcel()<BR>{<BR> =20
CDatabase database;<BR> CString sDriver =3D "MICROSOFT =
EXCEL=20
DRIVER (*.XLS)"; // Excel=B0=B2=D7=B0=C7=FD=B6=AF<BR> =
CString sExcelFile =3D=20
=
"c:\\demo.xls"; &nbs=
p; =20
// =D2=AA=BD=A8=C1=A2=B5=C4Excel=CE=C4=BC=FE<BR> =
CString=20
sSql;<BR> <BR> =
TRY<BR> =20
{<BR> // =
=B4=B4=BD=A8=BD=F8=D0=D0=B4=E6=C8=A1=B5=C4=D7=D6=B7=FB=B4=AE<BR> &nb=
sp; =20
=
sSql.Format("DRIVER=3D{%s};DSN=3D'''';FIRSTROWHASNAMES=3D1;READONLY=3DFAL=
SE;CREATE_DB=3D\"%s\";DBQ=3D%s",<BR> &=
nbsp; =20
sDriver, sExcelFile, sExcelFile);<BR><BR> =
// =B4=B4=BD=A8=CA=FD=BE=DD=BF=E2=20
(=BC=C8Excel=B1=ED=B8=F1=CE=C4=BC=FE)<BR> =
if(=20
database.OpenEx(sSql,CDatabase::noOdbcDialog)=20
)<BR> =
{<BR> //=20
=
=B4=B4=BD=A8=B1=ED=BD=E1=B9=B9(=D0=D5=C3=FB=A1=A2=C4=EA=C1=E4)<BR> &=
nbsp; sSql =3D "CREATE TABLE=20
demo (Name TEXT,Age =
NUMBER)";<BR> =20
=
database.ExecuteSQL(sSql);<BR><BR> =
//=20
=B2=E5=C8=EB=CA=FD=D6=B5<BR> =
sSql =3D "INSERT INTO demo=20
(Name,Age) VALUES =
(''=D0=EC=BE=B0=D6=DC'',26)";<BR> =20
=
database.ExecuteSQL(sSql);<BR><BR> =20
sSql =3D "INSERT INTO demo (Name,Age) VALUES=20
=
(''=D0=EC=D6=BE=BB=DB'',22)";<BR> =20
=
database.ExecuteSQL(sSql);<BR><BR> =20
sSql =3D "INSERT INTO demo (Name,Age) VALUES=20
(''=B9=F9=BB=D5'',27)";<BR> =20
database.ExecuteSQL(sSql);<BR> =20
=
} <BR><BR> // =
=B9=D8=B1=D5=CA=FD=BE=DD=BF=E2<BR> =
database.Close();<BR> =20
}<BR> CATCH_ALL(e)<BR> =20
{<BR> =
TRACE1("Excel=C7=FD=B6=AF=C3=BB=D3=D0=B0=B2=D7=B0:=20
%s",sDriver);<BR> }<BR> =20
END_CATCH_ALL;<BR>}<BR><BR>3. =
=CD=A8=B9=FDODBC=D6=B1=BD=D3=B6=C1=C8=A1Excel=CE=C4=BC=FE(=D4=DD=B6=A8=CE=
=C4=BC=FE=C3=FB=A3=BADemo.xls) //=20
=B6=C1=C8=A1Excel=CE=C4=BC=FE<BR>void CRWExcel::ReadFromExcel()=20
<BR>{<BR> CDatabase=20
database;<BR> CString=20
sSql;<BR> CString sItem1,=20
sItem2;<BR> CString=20
sDriver;<BR> CString=20
sDsn;<BR> CString sFile =3D "Demo.xls"; // =
=
=BD=AB=B1=BB=B6=C1=C8=A1=B5=C4Excel=CE=C4=BC=FE=C3=FB<BR> &nbs=
p;  =
; =
<BR> &nb=
sp; =20
// =BC=EC=CB=F7=CA=C7=B7=F1=B0=B2=D7=B0=D3=D0Excel=C7=FD=B6=AF =
"Microsoft Excel Driver (*.xls)"=20
<BR> sDriver =3D=20
GetExcelDriver();<BR> if=20
(sDriver.IsEmpty())<BR> =20
{<BR> //=20
=
=C3=BB=D3=D0=B7=A2=CF=D6Excel=C7=FD=B6=AF<BR> &nbs=
p; =20
=
AfxMessageBox("=C3=BB=D3=D0=B0=B2=D7=B0Excel=C7=FD=B6=AF!");<BR> &nb=
sp; =20
return;<BR> =20
}<BR> <BR> //=20
=
=B4=B4=BD=A8=BD=F8=D0=D0=B4=E6=C8=A1=B5=C4=D7=D6=B7=FB=B4=AE<BR> &nb=
sp; =20
sDsn.Format("ODBC;DRIVER=3D{%s};DSN=3D'''';DBQ=3D%s", sDriver,=20
sFile);<BR><BR> =
TRY<BR> =20
{<BR> //=20
=
=B4=F2=BF=AA=CA=FD=BE=DD=BF=E2(=BC=C8Excel=CE=C4=BC=FE)<BR> &n=
bsp; =20
database.Open(NULL, false, false,=20
=
sDsn);<BR> <BR>  =
; =20
CRecordset=20
=
recset(&database);<BR><BR> &=
nbsp;=20
// =
=C9=E8=D6=C3=B6=C1=C8=A1=B5=C4=B2=E9=D1=AF=D3=EF=BE=E4.<BR> &n=
bsp; sSql =3D=20
"SELECT Name, Age=20
=
" <BR> &n=
bsp; =20
"FROM demo=20
=
" =
<BR> &nb=
sp; =20
"ORDER BY Name=20
=
";<BR> <BR> &nb=
sp; =20
// =
=D6=B4=D0=D0=B2=E9=D1=AF=D3=EF=BE=E4<BR> &nb=
sp; =20
recset.Open(CRecordset::forwardOnly, sSql,=20
=
CRecordset::readOnly);<BR><BR> &=
nbsp;=20
// =
=BB=F1=C8=A1=B2=E9=D1=AF=BD=E1=B9=FB<BR> &nb=
sp; while=20
=
(!recset.IsEOF())<BR> =20
=
{<BR> &n=
bsp;=20
=
//=B6=C1=C8=A1Excel=C4=DA=B2=BF=CA=FD=D6=B5<BR> &n=
bsp; =20
recset.GetFieldValue("Name ",=20
=
sItem1);<BR> &=
nbsp; =20
recset.GetFieldValue("Age",=20
=
sItem2);<BR><BR> &nb=
sp; =20
//=20
=
=D2=C6=B5=BD=CF=C2=D2=BB=D0=D0<BR> &nb=
sp; =20
=
recset.MoveNext();<BR> =20
}<BR><BR> //=20
=
=B9=D8=B1=D5=CA=FD=BE=DD=BF=E2<BR> &nb=
sp; =20
=
database.Close();<BR> &nbs=
p;  =
; <BR> &n=
bsp;=20
}<BR> CATCH(CDBException,=20
e)<BR> =20
{<BR> //=20
=
=CA=FD=BE=DD=BF=E2=B2=D9=D7=F7=B2=FA=C9=FA=D2=EC=B3=A3=CA=B1...<BR> =
=20
AfxMessageBox("=CA=FD=BE=DD=BF=E2=B4=ED=CE=F3: " + =
e->m_strError);<BR> =20
}<BR> END_CATCH;<BR>}<BR><BR>4. =
=BB=F1=C8=A1ODBC=D6=D0Excel=C7=FD=B6=AF=B5=C4=BA=AF=CA=FD=20
CString =
CRWExcel::GetExcelDriver()<BR>{<BR> char=20
szBuf[2001];<BR> WORD cbBufMax =3D=20
2000;<BR> WORD=20
cbBufOut;<BR> char *pszBuf =3D=20
szBuf;<BR> CString=20
sDriver;<BR><BR> //=20
=
=BB=F1=C8=A1=D2=D1=B0=B2=D7=B0=C7=FD=B6=AF=B5=C4=C3=FB=B3=C6(=BA=AD=CA=FD=
=D4=DAodbcinst.h=C0=EF)<BR> if=20
(!SQLGetInstalledDrivers(szBuf, cbBufMax,=20
=
&cbBufOut))<BR> =
return=20
"";<BR> <BR> //=20
=
=BC=EC=CB=F7=D2=D1=B0=B2=D7=B0=B5=C4=C7=FD=B6=AF=CA=C7=B7=F1=D3=D0Excel..=
.<BR> =20
do<BR> =20
{<BR> if =
(strstr(pszBuf,=20
"Excel") !=3D =
0)<BR> =20
=
{<BR> &n=
bsp;=20
//=B7=A2=CF=D6=20
=
!<BR> &n=
bsp;=20
sDriver =3D=20
=
CString(pszBuf);<BR>  =
; =20
break;<BR> =20
}<BR> pszBuf =3D=20
strchr(pszBuf, ''\0'') + 1;<BR> =20
}<BR> while (pszBuf[1] !=3D=20
''\0'');<BR><BR> return=20
sDriver;<BR>}<BR></FONT></P></DIV></TD></TR></TBODY></TABLE><BR>
<DIV class=3Dopt><A =
title=3D=B2=E9=BF=B4=B8=C3=B7=D6=C0=E0=D6=D0=CB=F9=D3=D0=CE=C4=D5=C2=20
href=3D"http://hi.baidu.com/xydjh/blog/category/%B3%CC%D0%F2%26%2347%3Bvc=
">=C0=E0=B1=F0=A3=BA=B3=CC=D0=F2/vc</A>=20
| <A =
title=3D=BD=AB=B4=CB=CE=C4=D5=C2=CC=ED=BC=D3=B5=BD=B0=D9=B6=C8=CB=D1=B2=D8=
onclick=3D"return addToFavor();"=20
href=3D"http://cang.baidu.com/do/add" =
target=3D_blank>=CC=ED=BC=D3=B5=BD=CB=D1=B2=D8</A> | =E4=AF=C0=C0(<SPAN=20
id=3Dresult></SPAN>) | <A=20
href=3D"http://hi.baidu.com/xydjh/blog/item/03ab7ad1925aa5d0572c8483.html=
#send">=C6=C0=C2=DB</A> (0)
<SCRIPT language=3Djavascript>=0A=
/*<![CDATA[*/=0A=
var pre =3D [true,'=C1=BD=D6=D6VC=B2=D9=D7=DDEXCEL=B5=C4=B7=BD=B7=A8', =
'=C1=BD=D6=D6VC=B2=D9=D7=DDEXCEL=B5=C4=B7=BD=B7=A8','/xydjh/blog/item/396=
be70ab159721c95ca6b1e.html'];=0A=
var post =3D [true,'VC=D6=D0=B5=F7=D3=C3 Excel =
=B5=C4=D7=DC=BD=E1','VC=D6=D0=B5=F7=D3=C3 Excel =B5=C4=D7=DC=BD=E1', =
'/xydjh/blog/item/16596d95e6b5550b7af48056.html'];=0A=
if(pre[0] || post[0]){=0A=
document.write('<div =
style=3D"height:5px;line-height:5px;"> </div><div id=3D"in_nav">');=0A=
if(pre[0]){=0A=
document.write('=C9=CF=D2=BB=C6=AA=A3=BA<a href=3D"' + pre[3] + '" =
title=3D"' + pre[1] + '">' + pre[2] + '</a> ');=0A=
}=0A=
if(post[0]){=0A=
document.write('=CF=C2=D2=BB=C6=AA=A3=BA<a href=3D"' + post[3] + '" =
title=3D"' + post[1] + '">' + post[2] + '</a>');=0A=
}=0A=
document.write('</div>');=0A=
}=0A=
/*]]>*/=0A=
</SCRIPT>
</DIV>
<DIV class=3Dline></DIV>
<STYLE type=3Dtext/css>#in_related_doc A {
TEXT-DECORATION: none
}
</STYLE>
<DIV id=3Din_related_tmp></DIV>
<SCRIPT language=3Djavascript type=3Dtext/javascript>=0A=
/*<![CDATA[*/=0A=
function HI_MOD_IN_RELATED_DOC_CALLBACK(arg){=0A=
if(arg.length <=3D 1) return false;=0A=
var hasMore =3D arg[0];=0A=
var D=3Dfunction(A,B){A[A.length]=3DB;}=0A=
if(arg.length % 2 =3D=3D 0) D(arg, ["","","",""]);=0A=
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -