以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]Excel报表Sheet.Rows.Count问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=90757)

--  作者:mosquito1003
--  发布时间:2016/9/21 10:38:00
--  [求助]Excel报表Sheet.Rows.Count问题
各位大侠们:
我用Dim Book As New XLS.Book \'定义一个Excel工作簿
Dim Sheet As XLS.Sheet = Book.Sheets(0) \'引用工作簿的第一个工作表
For i As Integer = 0 To 49
Sheet(i,0).Value = "aaaa"
Next
创建了50行的数据,然后保存Book.Save(“C:\\111.xls”) \'保存工作簿

之后用Excel打开工作簿,然后删除有数据的25行,再用
Dim Book As New XLS.Book(“C:\\111.xls”)
Dim Sheet As XLS.Sheet = Book.Sheets(0)
MessageBox.Show(Sheet.Rows.Count)
发现数据还是50行,而不是实际有数据的25行?请问这个问题,有高手帮忙解决吗?


--  作者:mosquito1003
--  发布时间:2016/9/21 10:42:00
--  
我想要的是25行的实际数据,应该我要用这些25行的数据,而不要有空行的数据。
--  作者:有点蓝
--  发布时间:2016/9/21 10:59:00
--  
1、在导入数据的时候判断关键列是否为空,是就排除

2、在Excel中删除的时候,应该删除整行,而不是清除单元格的内容,那样Execl还认为是有使用的
试了一下用vba,一样会包含空行

--  作者:mosquito1003
--  发布时间:2016/9/21 11:03:00
--  
有点蓝的回答:
1、由于我导出数据是要导入到银行的网银的导入表中,他们的读取设计,我无法修改。他们只要读到有空值的行,就不给导入了。
2、我保证每次都是删除整行的,效果还是提示出50行!

--  作者:有点蓝
--  发布时间:2016/9/21 11:35:00
--  
我整行删除的测试就没有问题
--  作者:mosquito1003
--  发布时间:2016/9/21 11:36:00
--  
不是吧!你把excel上传下!要用代码生成的excel哦!不是用excel创建的!用excel创建的工作簿都是可以了!我也试过了!
--  作者:有点蓝
--  发布时间:2016/9/21 11:48:00
--  
这是用您1楼的代码生成的Excel,我删除了25行
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:111.xls



[此贴子已经被作者于2016/9/21 11:48:24编辑过]

--  作者:有点蓝
--  发布时间:2016/9/21 11:51:00
--  
测试了几次都没有问题,你是删除了没有保存吧
--  作者:mosquito1003
--  发布时间:2016/9/21 12:02:00
--  
那就奇怪了,难道和电脑装的excel有关吗?你看下我导出的。
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:1112.xls



--  作者:有点蓝
--  发布时间:2016/9/21 14:07:00
--  
可能文件设置了什么吧。把你B列整列删除就正常了