chzj589 发表于 2018-7-27 16:56:55

wln 发表于 2018-7-27 13:35
非常感谢回复.这就是第一行还是读不到了?
我要把每个sheet里所有内容都读出来,包括标题行
谢谢!


duxing 发表于 2018-7-27 17:14:03

看看,留脚印

wln 发表于 2018-7-28 08:56:23

如附件,sheet1里面只有1行的话,GetRows后的数组是空的。sheet2本来是两行,只能读到其中一行。
谢谢!

chzj589 发表于 2018-7-28 14:45:25

wln 发表于 2018-7-28 08:56
如附件,sheet1里面只有1行的话,GetRows后的数组是空的。sheet2本来是两行,只能读到其中一行。
谢谢!







志艺风云 发表于 2018-7-29 13:25:44

FIRSTROWHASNAMES=1、HDR=N 在网上看这两个参数应该是表的第一行是否为标题。

数据库必须有[字段]项,excel表的第一行标题相当于字段了。

我专门写了函数啊,_ArrayDisplay(__ListFields("测试"), "显示标题字段")

chzj589 发表于 2018-7-29 16:36:39

wln 发表于 2018-7-28 08:56
如附件,sheet1里面只有1行的话,GetRows后的数组是空的。sheet2本来是两行,只能读到其中一行。
谢谢!

设置调整EXCEL




kk_lee69 发表于 2018-7-29 21:06:01

chzj589 发表于 2018-7-29 16:36
设置调整EXCEL

不用標題可以讀取的到參數問題而已

wln 发表于 2018-7-30 10:00:35

kk_lee69 发表于 2018-7-29 21:06
不用標題可以讀取的到參數問題而已

愿闻其详,请不吝赐教.
谢谢!

wln 发表于 2018-7-30 16:42:31

chzj589 发表于 2018-7-29 16:36
设置调整EXCEL

我不能每个文件的都增加一个0行的,请问有办法吗?
谢谢!

chzj589 发表于 2018-7-30 20:20:20

本帖最后由 chzj589 于 2018-7-31 07:50 编辑

wln 发表于 2018-7-30 16:42
我不能每个文件的都增加一个0行的,请问有办法吗?
谢谢!
要把每个EXCEL里所有内容都读出来,包括标题行,然后呢?要读取EXCEL每个文件列数都一样?

kk_lee69 发表于 2018-7-30 20:40:35

wln 发表于 2018-7-30 10:00
愿闻其详,请不吝赐教.
谢谢!

連線字串加入;HDR=NO;IMEX=1

wln 发表于 2018-7-31 09:44:28

chzj589 发表于 2018-7-30 20:20
要把每个EXCEL里所有内容都读出来,包括标题行,然后呢?要读取EXCEL每个文件列数都一样?

行列数都不一样,我是要扫描目录下的EXCEL文件,找其中含有关键字的那些出来.
不知道有没有高效的方法

wln 发表于 2018-7-31 11:50:50

kk_lee69 发表于 2018-7-30 20:40
連線字串加入;HDR=NO;IMEX=1

以前看了这句
;IMEX有三个可选的值:0,1和2,默认是0; 微软是这样解释的:
      0 is Export mode    -------导出模式(从Excel文件读取数据时使用)
      1 is Import mode   -------导入模式(向Excel文件插入数据时使用)
      2 is Linked mode (full update capabilities)-----Linked模式(需要完全更新Excel文件时使用)
没敢用1,改成1后,就成了。非常非常感谢!

Hau耗子 发表于 2018-8-1 01:23:11

{:face (130):}学习了,谢谢!

chzj589 发表于 2018-8-1 08:41:45

志艺风云 发表于 2018-7-29 13:25
FIRSTROWHASNAMES=1、HDR=N 在网上看这两个参数应该是表的第一行是否为标题。

数据库必须有[字段]项,ex ...

如何修改读取显示标题字段?如Excel文件有9列

;查标题字段
Func __ListFields($adTable)
      Local $Rtn = ''
      $ExcelRS.Open($adTable, $Excelconn, 3, 3)
      Local $Fc = $ExcelRS.fields.count
      If $Fc > 0 Then
                For $I = 0 To $Fc - 1
                        $Rtn &= $ExcelRS.fields($I).name & '*'
                Next
      EndIf
      If $Rtn <> '' Then $Rtn = StringTrimRight($Rtn, 1)
      Return StringSplit($Rtn, "*", 2)
EndFunc   ;==>__ListFields
页: 1 2 [3] 4
查看完整版本: 在没有安装Excel的情况下读取数据