ak47gglllk 发表于 2015-2-24 17:07:02

excel显示到ListView

本帖最后由 ak47gglllk 于 2015-2-25 13:39 编辑

求教excel能1:1显示到ListView 上面否,求告知,求思路



方法在13楼,感谢大大们的帮助和支持

chzj589 发表于 2015-2-24 17:07:03

本帖最后由 chzj589 于 2015-3-2 08:12 编辑

{:face (303):}

netegg 发表于 2015-2-24 17:30:21

合并单元格的地方没戏,前面的好说

ak47gglllk 发表于 2015-2-24 17:54:50

回复 2# netegg


    求例子,不用合并。感谢,感谢,万分感谢

netegg 发表于 2015-2-24 18:32:56

#Include <Excel.au3>
_ExcelReadSheetToArray
#Include <GuiListView.au3>
_GUICtrlListView_AddArray

chzj589 发表于 2015-2-24 19:52:56

本帖最后由 chzj589 于 2015-3-1 22:12 编辑

这样试试看?????????????

chzj589 发表于 2015-2-24 23:12:53

这种效果:

austere 发表于 2015-2-25 09:12:51

搞这么简单做什么? 直接GDI画出来不就好了~

ak47gglllk 发表于 2015-2-25 09:38:22

回复 6# chzj589


    感谢大神,就是要这种效果的,非常感谢,非常感谢

ak47gglllk 发表于 2015-2-25 09:38:49

回复 4# netegg


    感谢大神,非常感谢。万分感谢

ak47gglllk 发表于 2015-2-25 09:41:30

回复 7# austere


    感谢大神,非常感谢

ak47gglllk 发表于 2015-2-25 10:10:53

回复 6# chzj589


求完整的代码看看哇,大神请收下我的膝盖

austere 发表于 2015-2-25 10:17:10

回复 1# ak47gglllk


    如果仅仅是为了显示,我建议还是截图,然后再到GUI上进行显示,1:1 一点问题也没有~

ak47gglllk 发表于 2015-2-25 10:21:03

回复 6# chzj589


求完整的代码看看哇,大神请收下我的膝盖


#include <GUIConstantsEx.au3>

$Form1 = GUICreate("Excel数据读到ListView中", 800,600)
$ListView1 = GUICtrlCreateListView("1|2|3|4|5|6", 14, 10,770,570)
GUISetState(@SW_SHOW,$Form1)
   Local $conn, $connstr, $sql, $RS;;;;;;;;;;局部变量,,变量作用范围
                $conn = ObjCreate("ADODB.Connection");;; Connection 对象代表打开的、与数据源的连接。
                $connstr = 'Driver={Microsoft Excel Driver (*.xls)};DBQ=' & @DesktopDir&'\销售清单.xls'
                $conn.open($connstr);;;使用 Open 方法建立到数据源的物理连接
                $sql = "select * from " ;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
                               
While 1
       
        $nMsg = GUIGetMsg()
       
        Switch $nMsg
               
                Case $GUI_EVENT_CLOSE
                        Exit
        EndSwitch
WEnd
                我的这个样子,不能读取出来

chzj589 发表于 2015-2-25 10:42:17

回复 14# ak47gglllk

$connstr = 'Driver={Microsoft Excel Driver (*.xls)};DBQ=' & @DesktopDir&'\销售清单.xls'

应为:

    $connstr = 'Driver={Microsoft Excel Driver (*.xls)};DBQ=' & '销售清单.xls'
页: [1] 2
查看完整版本: excel显示到ListView