利用易语言编程环境创建一个“Windows窗口程序”。点击菜单“工具”->“支持库配置”项。
在打开的窗口中,找到并勾选“通用对象支持库 2.0版”,并点击“确定”以添加“超级列表框”组件。
接下来在“启动窗口”中绘制如图所示的界面,其中包括一个“外部数据库”和一个“超级列表框”(从扩展面板中可以找到)组件。
然后利用Excel创建一个名为“jiance.xls”的Excel文件。其内容如图所示:
注:将该文件与易语言程序本身放置在同一目录下。
确保选中“启动窗口”,然后为其添加“创建完毕”事件。
接着输入如图所示的易语言代码:
.版本 2
.支持库 iext
.如果真 (外部数据库1.打开 (“ODBCDBQ=” + 取当前目录 () + “\jiance.xlsDriver={Microsoft Excel Driver (*.xls)}DriverId=790FIL=excel 8.0MaxBufferSize=2048MaxScanRows=8PageTimeout=5ReadOnly=0SafeTransactions=0Threads=3UID=adminUserCommitSync=Yes”, , ) = 假)
信息框 (“数据库连接失败!”, #错误图标, )
返回 ()
.如果真结束
查询语句 = “select * from [Sheet1$]”
记录集 = 外部数据库1.查询 (查询语句)
.如果真 (记录集 = 0)
信息框 (“查询失败!”, #错误图标, )
返回 ()
.如果真结束
外部数据库1.到首记录 (记录集)
局部_计次 = 1
超级列表框1.插入列 (, “序号”, 80, , , )
超级列表框1.插入列 (, “姓名”, 80, , , )
超级列表框1.插入列 (, “性别”, 80, , , )
超级列表框1.插入列 (, “年龄”, 80, , , )
.判断循环首 (外部数据库1.尾记录后 (记录集) = 假)
局部_临时A = 外部数据库1.读 (记录集, 1)
局部_临时B = 外部数据库1.读 (记录集, 2)
局部_临时C = 到文本 (外部数据库1.读 (记录集, 3))
索引 = 超级列表框1.插入表项 (, , , , , )
超级列表框1.置标题 (索引, 0, 到文本 (局部_计次))
超级列表框1.置标题 (索引, 1, 局部_临时A)
超级列表框1.置标题 (索引, 2, 局部_临时B)
超级列表框1.置标题 (索引, 3, 局部_临时C)
外部数据库1.到后一记录 (记录集)
局部_计次 = 局部_计次 + 1
.判断循环尾 ()
外部数据库1.关闭记录集 ()
7
最后点击“运行”按钮,就可以看到易语言成功引用Excel表格中的数据啦。
用“外部数据库”组件,或者“EXCEL程序”和“EXCEL工作薄”组件第一种方法,遇到文本数据和数值数据有一定可能出错,如果EXCEL全部为文本或全部为数字就没事
第二张方法,更完整的调用EXCEL
Excel工作簿1.置程序 (Excel程序1) ' 设置工作簿于excel程序领导之下Excel工作簿1.打开 (取当前目录 () +“\” + 年级数 +“.xls”) ' 本来可以加个文件名的,如果没有文件,则另存为吧.
Excel工作簿1.表格序号 = 1 ' 设置第一张表为工作表.
Excel程序1.显示 =真
' 以下是把数据库中的查询结果放入excel程序里
tempnum = 1 ' 第一条记录
tempnumtext = 到文本 (tempnum)
外部数据库1.到首记录 (记录集句柄1)
.判断循环首 (外部数据库1.尾记录后 (记录集句柄1) =假) ' 是不是已经到了尾记录了.如果不是,继续.
.变量循环首 (1, 33, 1, loopnum) ' 共有33个字段,每行显示33段,在excel表中表示列.tempnum表示为行
Excel工作簿1.首单元格 = 表列数组 [loopnum] + tempnumtext
Excel工作簿1.尾单元格 = 表列数组 [loopnum] + tempnumtext
Excel工作簿1.内容 = 外部数据库1.读 (记录集句柄1, loopnum)
.变量循环尾 ()
外部数据库1.到后一记录 (记录集句柄1)
tempnum = tempnum + 1
tempnumtext = 到文本 (tempnum)
.判断循环尾 ()
' Excel工作簿1.保存 (取当前目录 () +“\” + 年级数 +“.xls”)
' Excel工作簿1.关闭 ()
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)