heroxianf 发表于 2016-11-15 00:30:04

SQLite导出到Excel 希望大家指点一下数组的存取问题[已解决]

本帖最后由 heroxianf 于 2016-11-16 01:09 编辑

笨办法整出来了,懂的指点一下。这样写 以后添加列 累死个屁的。{:face (197):}

_SQLite_Query($test, "SELECT * FROM Monitor;", $hQuery)
While _SQLite_FetchData($hQuery, $aRow) = $SQLITE_OK
                _Excel_RangeWrite($oWorkbook, $oWorkbook.Activesheet, $aRow, "A" & $i)
                _Excel_RangeWrite($oWorkbook, $oWorkbook.Activesheet, $aRow, "B" & $i)
                _Excel_RangeWrite($oWorkbook, $oWorkbook.Activesheet, $aRow, "C" & $i)
                _Excel_RangeWrite($oWorkbook, $oWorkbook.Activesheet, $aRow, "D" & $i)
                _Excel_RangeWrite($oWorkbook, $oWorkbook.Activesheet, $aRow, "E" & $i)
                _Excel_RangeWrite($oWorkbook, $oWorkbook.Activesheet, $aRow, "F" & $i)
                _Excel_RangeWrite($oWorkbook, $oWorkbook.Activesheet, $aRow, "G" & $i)
                _Excel_RangeWrite($oWorkbook, $oWorkbook.Activesheet, $aRow, "H" & $i)
                _Excel_RangeWrite($oWorkbook, $oWorkbook.Activesheet, $aRow, "I" & $i)
                _Excel_RangeWrite($oWorkbook, $oWorkbook.Activesheet, $aRow, "J" & $i)
                _Excel_RangeWrite($oWorkbook, $oWorkbook.Activesheet, $aRow, "K" & $i)
                _Excel_RangeWrite($oWorkbook, $oWorkbook.Activesheet, $aRow, "L" & $i)
                _Excel_RangeWrite($oWorkbook, $oWorkbook.Activesheet, $aRow, "M" & $i)
                _Excel_RangeWrite($oWorkbook, $oWorkbook.Activesheet, $aRow, "N" & $i)
                _Excel_RangeWrite($oWorkbook, $oWorkbook.Activesheet, $aRow, "O" & $i)
                _Excel_RangeWrite($oWorkbook, $oWorkbook.Activesheet, $aRow, "P" & $i)
                _Excel_RangeWrite($oWorkbook, $oWorkbook.Activesheet, $aRow, "Q" & $i)
                _Excel_RangeWrite($oWorkbook, $oWorkbook.Activesheet, $aRow, "R" & $i)
                _Excel_RangeWrite($oWorkbook, $oWorkbook.Activesheet, $aRow, "S" & $i)
                _Excel_RangeWrite($oWorkbook, $oWorkbook.Activesheet, $aRow, "T" & $i)

                $i = $i + 1
WEnd

heroxianf 发表于 2016-11-15 00:30:37

http://www.autoitx.com/thread-53860-1-1.html

这是之前解决的讨论。

kk_lee69 发表于 2016-11-15 09:47:26

本帖最后由 kk_lee69 于 2016-11-15 11:10 编辑

回复 2# heroxianf

提供個 已經有寫入資料的 SQLLITE DB 檔案
與 你寫一半的範例程式

heroxianf 发表于 2016-11-15 16:33:11

本帖最后由 heroxianf 于 2016-11-15 16:39 编辑

回复 3# kk_lee69

谢谢KK 指点先。附件是代码和sqlite.dll 数据库文件,你帮我看看,其实实际要导出的字段很多   有没有优化输出数据排列的必要。我用的是新版EXCEL.UDF

kk_lee69 发表于 2016-11-15 17:36:07

回复 4# heroxianf

換資料庫吧   你測試看看   改用MDB一行語法 就結束 ............我連資料庫裡有甚麼欄位 名稱 都可以不用了解   

#include <Excel.au3>
#include <Array.au3>
Local $DBPATH = @ScriptDir & '\1.mdb'


$conn = ObjCreate("ADODB.Connection")
$RS = ObjCreate("ADODB.Recordset")
$conn.Open ("Provider=Microsoft.Jet.OLEDB.4.0; Data Source="&$DBPATH)
$RS.ActiveConnection = $conn;好像是主連接,這個好像比較重要

$A=$conn.Execute(" SELECT * FROM A1").GetRows

_ArrayDisplay($A)


kk_lee69 发表于 2016-11-15 18:09:40

回复 4# heroxianf
不改資料庫 還要用SQLITE 就得安裝 SQLite ODBC Driver 了 ,才可以使用 GETROWS

chzj589 发表于 2016-11-15 18:51:57

回复 5# kk_lee69

兄弟,又教了一招!{:face (361):}

heroxianf 发表于 2016-11-15 20:58:55

本帖最后由 heroxianf 于 2016-11-15 22:20 编辑

回复 6# kk_lee69


    安装后sqlite怎么写呢?

heroxianf 发表于 2016-11-15 22:28:28

回复 7# chzj589


    学到经典,你的分享一点啥。{:face (197):}

kk_lee69 发表于 2016-11-16 00:57:33

回复 9# heroxianf

一樣的寫法參考看看吧   把我的使用你提供給我的檔案

附上 ODBC 驅動

#include <Excel.au3>
#include <Array.au3>


Local $DBPATH = @ScriptDir & '\test.DB'


$conn = ObjCreate("ADODB.Connection")
$RS = ObjCreate("ADODB.Recordset")
$conn.Open ("Driver=SQLite3 ODBC Driver;database="&$DBPATH)

$RS.ActiveConnection = $conn;好像是主連接,這個好像比較重要

$A=$conn.Execute(" SELECT * FROMDATAtest").GetRows
_ArrayDisplay($A)



heroxianf 发表于 2016-11-16 01:09:24

回复 10# kk_lee69


    太谢谢了,我以为装了驱动还是SQLITE的语法。   方便了哈。

heroxianf 发表于 2016-11-16 14:05:54

回复 10# kk_lee69


    安装了驱动还是提示错误,怎么排查呢?

"C:\Users\liuxianfeng1\Desktop\test.au3" (10) : ==> ??????????.:
$conn.Open ("Driver=SQLite3 ODBC Driver;database="&$DBPATH)
$conn^ ERROR

kk_lee69 发表于 2016-11-16 16:17:52

回复 12# heroxianf

http://www.ch-werner.de/sqliteodbc/

自己找合適自己的版本我的 提供的 可用於XP

heroxianf 发表于 2016-11-16 21:20:39

回复 13# kk_lee69


    谢谢,搞定了,64位系统必须装64版本的。装32没效果。
页: [1]
查看完整版本: SQLite导出到Excel 希望大家指点一下数组的存取问题[已解决]