如何取得Excel单元格中的数据

catechumen13 2004-11-26 03:25:27
我用VC实现了从ACCESS数据导出到Excel表中,但从Excel中导入数据却不知道该怎么办。我想从Excel中取得数据后再添加到ACCESS表格.我用下面的方法想取得EXCEL表中每个单元格的数据,例:取得第二行,第二列的数据。我用了下面的方法:
objApp.CreateDispatch("Excel.Application");
objbooks=objApp.GetWorkbooks();
objbook.AttachDispatch(objbooks.Add(_variant_t("C:\\test.xls")));
objsheets=objbook.GetSheets();
objsheet=objsheets.GetItem((_variant_t)short(1));
CString str1,str2;
objsheet.Activate();
str1.Format("%d",2);
str2.Format("%d",2);
objRange=objsheet.GetRange(COleVariant(str1),COleVariant(str2));
CString str=(LPCTSTR)(_bstr_t)objRange.GetValue();
AfxMessageBox(str);
运行结果是一个红色叹号的对话框.我该怎么样才能得到这值?先多谢各位大虾,请不吝赐教。
...全文
177 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
liuyann 2004-11-27
  • 打赏
  • 举报
回复
下面是我的一段代码,你可以参照.


dim ExcelConnString
dim connExcel
dim rsExcel
dim strsql
dim fldExcel

dim i

ExcelConnString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.mappath("upload\cert.xls") & ";Extended Properties=""Excel 8.0;HDR=NO;"""

set connExcel = server.createObject("ADODB.Connection")
connExcel.open ExcelConnString

Set rsExcel = Server.CreateObject("ADODB.Recordset")

strsql = "Select * from [Sheet1$A4:K20]"
rsExcel.open strsql, connExcel
do while not rsExcel.eof
response.write "<HR>"

for each fldExcel in rsExcel.fields
response.write "<br>"
response.write fldExcel
next
response.write isnull(rsExcel.fields(9).value )


rsExcel.movenext
loop
rsExcel.close
connExcel.close

set rsExcel = nothing
set connExcel = nothing
OracleRoob 2004-11-27
  • 打赏
  • 举报
回复
顶一下!
catechumen13 2004-11-27
  • 打赏
  • 举报
回复
谢谢!我试试
Samland 2004-11-26
  • 打赏
  • 举报
回复
建议使用ADO连接Excel表
使用直接顺序读的方式读取每一条记录

7,713

社区成员

发帖
与我相关
我的任务
社区描述
Microsoft Office Access是由微软发布的关系数据库管理系统。它结合了 MicrosoftJet Database Engine 和 图形用户界面两项特点。
社区管理员
  • Access
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧