我的例子在: http://www.datasoft.com.cn/dispbbs.asp?boardid=2&Id=9348
用命令窗口代码:
Dim Book As New XLS.Book(ProjectPath & "reports\连续打印p.xls")
Dim Sheet As XLS.Sheet
Sheet = Book.Sheets("sheet1")
output.show(sheet.cols.count)
‘显示的255行? 模板中列<end> 也无效了吗?其他不会呀。帮我看看哪的问题?
End就是为了应付这种情况,因为通过Sheet返回的列数不一定正确,所以用end标记一下,生成报表的时候,判断依据是这个end,而不是这个count属性。
以下是引用狐狸爸爸在2011-3-31 14:23:00的发言:
End就是为了应付这种情况,因为通过Sheet返回的列数不一定正确,所以用end标记一下,生成报表的时候,判断依据是这个end,而不是这个count属性。
你又理解错了! 看看下面两个横向滚动条就知道了,后面的是系统自动的“Excel报表”的【出库单】结果,用1楼代码显示只有6列。
此主题相关图片如下:未命名1.jpg

[此贴子已经被作者于2011-3-31 14:34:04编辑过]
是不是afterbuild中代码否定掉了模板中的<End>列标记? 能否用代码来<End>列呢?
我知道只有6列,但是Excel认为你有255列,我没办法,只好来个End标记,让用户自己标示结尾的行列。
Count参数不是我定义的,是Excel控件定义的。
[此贴子已经被作者于2011-3-31 14:40:37编辑过]
新建立一个模板就没有这么多列了

此主题相关图片如下:未命名2.jpg
[此贴子已经被作者于2011-3-31 15:00:14编辑过]
我从经也困惑啊,EXcel报表刚出来的时候,经常有也用户生成报表的时候死机,特别是Excel 2007,命名只有6行,结果显示有几十万行,这就是end标记加上去的原因。
以下是引用狐狸爸爸在2011-3-31 15:07:00的发言:
我从经也困惑啊,EXcel报表刚出来的时候,经常有也用户生成报表的时候死机,特别是Excel 2007,命名只有6行,结果显示有几十万行,这就是end标记加上去的原因。
知道原因了,与模板的横向和纵向的滚动条有关!!! 这个时候都应该重新新建立一个新的模板即可···
看下图横向滚动条的不同!!!

此主题相关图片如下:mb.gif
如果是255列的话,狐爸要检查一下,还记得有一次我先提出的这个问题,你不理我,害的我全部重做报表模板,后来又有人提出,结果还是你那儿出问题了,修改更新后才没有问题.
呵呵,现在不会有问题的,用End标记即可。
MR725兄也不用重新建模板,选后之后的行列,执行菜单命令删除或列即可。