以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  关于导入Excel表 空的列问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=121685)

--  作者:lycliu
--  发布时间:2018/7/11 16:27:00
--  关于导入Excel表 空的列问题
省略了一些代码,我想说的就是循环Excel表格,导入数据,但是Excel表格里面有空的列,但是我这个循环条件是循环行数的,我想要循环有数据的列,这个条件应该怎么写呢?就这个n<=sheet.rows.count-1这个条件。
Dim sheet As XLS.Sheet = book.Sheets(0)
Dim n As Integer = 0
Do While n <= sheet.Rows.Count-1
cmd.commandtext="insert into ,,,,,,,,"
cmd.executenonquery
n=n+1
loop

--  作者:有点甜
--  发布时间:2018/7/11 16:55:00
--  

1、空的行还是空的列?

 

2、如果要判断某一个单元格是否为空,这样写代码

 

If sheet(n, 0).text = nothing AndAlso sheet(n, 1).text = nothing  Then \'如果第n行的A、B列为空


--  作者:lycliu
--  发布时间:2018/7/11 17:00:00
--  
空的行,对不起哈,上面写错了,是空的行
--  作者:有点甜
--  发布时间:2018/7/11 17:35:00
--  

参考2楼代码。

 

If sheet(n, 0).text <> nothing AndAlso sheet(n, 1).text <> nothing  Then \'如果第n行的A、B列都不是空


--  作者:lycliu
--  发布时间:2018/7/12 10:29:00
--  
ok了,上面的空列问题解决了。然后有个新的问题就是,我怎么去获取一张Excel表格里面有多少张sheet表,就是我想知道有多少张表然后我要去循环表读取数据
Dim sheet As XLS.Sheet = book.Sheets(0)这是打开第一张表格,我想的是for i =0 to (表格数量),Dim sheet As XLS.Sheet = book.Sheets(i),我就是不知道怎么取得多少张sheet的值?

--  作者:有点甜
--  发布时间:2018/7/12 10:34:00
--  

参考

 

Dim Book As New XLS.Book("d:\\test.xls")
For Each sheet As xls.sheet In Book.Sheets
    msgbox(sheet.name)
Next
msgbox(book.sheets.count)