找回密码
 加入
搜索
楼主: ak47gglllk

[系统综合] excel显示到ListView

 火.. [复制链接]
 楼主| 发表于 2015-2-25 10:47:44 | 显示全部楼层
回复 15# chzj589


    >运行:(3.3.12.0):C:\Program Files\AutoIt3\AutoIt3.exe "C:\Documents and Settings\Administrator\桌面\excel显示到ListView.au3"   
--> 按 Ctrl+Alt+Break 重新开始或按 Ctrl+Break 停止
"C:\Documents and Settings\Administrator\??\excel???ListView.au3" (45) : ==> Variable must be of type "Object".:
If $RS.eof = True And $RS.bof = True Then
If $RS^ ERROR
->10:46:47 AutoIt3.exe 结束.rc:1  


闪退了,感谢大神解答
发表于 2015-2-25 10:52:40 | 显示全部楼层
回复 16# ak47gglllk

#include <GUIConstantsEx.au3>
#include <Excel.au3>
$Form1 = GUICreate("Excel数据读到ListView中", 800, 600)
$ListView1 = GUICtrlCreateListView("1|2|3|4|5|6", 14, 10, 770, 570)
GUISetState(@SW_SHOW, $Form1)
duexcel()

While 1
        $nMsg = GUIGetMsg()

        Switch $nMsg

                Case $GUI_EVENT_CLOSE
                        Exit
        EndSwitch
WEnd
Func duexcel()
        Local $conn, $connstr, $sql, $RS;;;;;;;;;;局部变量,,变量作用范围
        $conn = ObjCreate("ADODB.Connection");;; Connection 对象代表打开的、与数据源的连接。
        $connstr = 'Driver={Microsoft Excel Driver (*.xls)};DBQ=' & '销售清单.xls'
        $conn.open($connstr);;;使用 Open 方法建立到数据源的物理连接
        $sql = "select * from [Sheet1$]" ;class
        $RS = $conn.execute($sql)
        If $RS.eof = True And $RS.bof = True Then ;;BOF 指示当前记录位置位于 Recordset 对象的第一个记录之前。                                                                        ;;EOF 指示当前记录位置位于 Recordset 对象的最后一个记录之后。
                ConsoleWrite("没有数据");;;;;;;;;;从记录头到尾EOFBOF为真没记录
                MsgBox(0, "提示", "没记录")
                Exit
        Else

                While Not $RS.eof ;;;;EOF 指示当前记录位置位于 Recordset 对象的最后一个记录之后为
                        ConsoleWrite($RS.fields("行号").value);;;;;读取字段值
                        ConsoleWrite($RS.fields("商品名称").value)
                        ConsoleWrite($RS.fields("单位").value)
                        ConsoleWrite($RS.fields("数量").value)
                        ConsoleWrite($RS.fields("单价").value)
                        ConsoleWrite($RS.fields("金额").value)
                        Local $aabID = String($RS.fields("行号").value)
                        Local $aaba = String($RS.fields("商品名称").value)
                        Local $aabb = String($RS.fields("单位").value)
                        Local $aabc = String($RS.fields("数量").value)
                        Local $aabd = String($RS.fields("单价").value)
                        Local $aabe = String($RS.fields("金额").value)
                       
                        $RS.movenext

                        GUICtrlCreateListViewItem($aabID & "|" & $aaba & "|" & $aabb & "|" & $aabc & "|" & $aabd & "|" & $aabe, $ListView1)
                WEnd

                $conn.Close();;;使用 Open 方法建立到数据源的物理连接。使用 Close 方法将其断开。
        EndIf
EndFunc   ;==>duexcel
 楼主| 发表于 2015-2-25 10:58:50 | 显示全部楼层
回复 17# chzj589

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
发表于 2015-2-25 10:58:57 | 显示全部楼层
回复 17# chzj589
引擎不对吧,那个引擎最高到97
 楼主| 发表于 2015-2-25 10:59:02 | 显示全部楼层
回复 18# ak47gglllk


    感谢大神
 楼主| 发表于 2015-2-25 11:08:25 | 显示全部楼层
回复 19# netegg


什么引擎哇,求教。office的?
发表于 2015-2-25 11:11:59 | 显示全部楼层
本帖最后由 netegg 于 2015-2-25 11:14 编辑

连接引擎,adodb后台用的也是sql

网上搜一下connect string,有介绍
 楼主| 发表于 2015-2-25 11:17:12 | 显示全部楼层
回复 22# netegg


    感谢,感谢,我看看去。非常感谢大神
 楼主| 发表于 2015-2-25 13:37:23 | 显示全部楼层
回复 22# netegg


    感谢大神,是excel表的名称错了。。。。感谢
发表于 2015-2-26 10:00:41 | 显示全部楼层
测试一下帖子里如何插入高亮代码:
...


While 1
        
        $nMsg = GUIGetMsg()
        
        Switch $nMsg
                
                Case $GUI_EVENT_CLOSE
                        Exit
        EndSwitch
WEnd
发表于 2015-3-19 00:31:09 | 显示全部楼层
新人,顶起,正在努力学习中~~
发表于 2015-3-19 00:31:21 | 显示全部楼层
新人,顶起,正在努力学习中~~
发表于 2015-3-19 14:14:54 | 显示全部楼层
发表于 2020-12-28 10:40:52 | 显示全部楼层



我调试了一上午也无法运行,总是无法打开文件,麻烦帮忙看下什么原因,谢谢

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-5-1 21:02 , Processed in 0.076175 second(s), 13 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表