以文本方式查看主题 - 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行 [此贴子已经被作者于2016/9/21 11:48:24编辑过]
|
||||
-- 作者:有点蓝 -- 发布时间:2016/9/21 11:51:00 -- 测试了几次都没有问题,你是删除了没有保存吧 |
||||
-- 作者:mosquito1003 -- 发布时间:2016/9/21 12:02:00 -- 那就奇怪了,难道和电脑装的excel有关吗?你看下我导出的。
|
||||
-- 作者:有点蓝 -- 发布时间:2016/9/21 14:07:00 -- 可能文件设置了什么吧。把你B列整列删除就正常了 |