如何用易语言读取excel表格内容

如题所述

方法/步骤

利用易语言编程环境创建一个“Windows窗口程序”。点击菜单“工具”->“支持库配置”项。

在打开的窗口中,找到并勾选“通用对象支持库 2.0版”,并点击“确定”以添加“超级列表框”组件。

接下来在“启动窗口”中绘制如图所示的界面,其中包括一个“外部数据库”和一个“超级列表框”(从扩展面板中可以找到)组件。

然后利用Excel创建一个名为“jiance.xls”的Excel文件。其内容如图所示:
注:将该文件与易语言程序本身放置在同一目录下。

确保选中“启动窗口”,然后为其添加“创建完毕”事件。

接着输入如图所示的易语言代码:
.版本 2
.支持库 iext
.如果真 (外部数据库1.打开 (“ODBC;DBQ=” + 取当前目录 () + “\jiance.xls;Driver={Microsoft Excel Driver (*.xls)};DriverId=790;FIL=excel 8.0;MaxBufferSize=2048;MaxScanRows=8;PageTimeout=5;ReadOnly=0;SafeTransactions=0;Threads=3;UID=admin;UserCommitSync=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表格中的数据啦。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2017-07-10
用“外部数据库”组件,或者“EXCEL程序”和“EXCEL工作薄”组件
第一种方法,遇到文本数据和数值数据有一定可能出错,如果EXCEL全部为文本或全部为数字就没事
第二张方法,更完整的调用EXCEL
第2个回答  2014-02-22
.版本 2
.支持库 eExcel2000

.子程序 读数据, 文本型
.参数 x, 整数型
.参数 y, 整数型
.局部变量 temp, 文本型
temp = 字符 (y + 64) + 到文本 (x)
Excel工作簿1.首单元格 = temp
Excel工作簿1.尾单元格 = temp
返回 (Excel工作簿1.内容)

.子程序 写数据
.参数 temp, 文本型
.参数 x, 整数型
.参数 y, 整数型
.局部变量 a, 文本型
a = 字符 (y + 64) + 到文本 (x)
Excel工作簿1.首单元格 = a
Excel工作簿1.尾单元格 = a
Excel工作簿1.内容 = temp
第3个回答  2013-05-29
建议你写个INI配置项就可以到时从网上搜一个super-ec来用读配置项 (取运行目录 () + “\网游.ini”, “1”, “n”, )就是说,取运行目录()+xx.ini,节名称,项名称 比如:窗口1.标题=读配置项 (取运行目录 () + “\网游.ini”, “1”, “n”, )INI这样写:[1]n=xxx那么,你的窗口1.标题就是xxx