老师好:
我在使用e.WriteBookAsHTML(Book,false)时提示如下错误:
索引和长度必须引用该字符串内的位置。
参数名: length
经调试,在Reports中正常生成了简历表.xls,就是在执行e.WriteBookAsHTML(Book,false)时报错了。源代码在附件中
,请老师指点,谢谢!
[此贴子已经被作者于2025/1/10 13:16:49编辑过]
如果使用WriteBookAsHTML,不需要build,如果是模板也不应该使用false参数:http://www.foxtable.com/mobilehelp/topics/0288.htm
……
jb.Filter = "[求职编号] = '" & qzbh & "'"
'jb.Build(True)
e.Resp
Dim Book As New XLS.Book(ProjectPath & "Attachments\简历表.xls")
Book.AddDataTable("简历表",jb.Build(True))
e.WriteBookAsHTML(Book)
……
另外下面这些代码,如果e.Path字符串没有这么长就会出现【索引和长度必须引用该字符串内的位置。】的错误
Dim n1 As Integer = e.Path.LastIndexOf("\")
Dim n2 As Integer = e.Path.LastIndexOf(".")
Dim str As String = e.Path.SubString(n1+1,30)
Dim dlkl As String = str.SubString(0,10)
Dim grbh As String = str.SubString(10,10)
Dim qzbh As String = str.SubString(20,10)
点.之后如果没有31的长度,这种代码肯定会出错:e.Path.SubString(n1+1,30)
蓝老师:1、字符个数没有问题,肯定不是因为这个报错;
2、我把生成的报表以普通的Excel表的方式发送到客户端,也报同样的错误:
Dim Book As New XLS.Book(ProjectPath & "Attachments\简历表.xls")
Book.AddDataTable("简历表",jb.Build(True))
Book.Build() '生成细节区
Dim file As String = ProjectPath & "Reports\简历表.xls"
Book.Save(file) '保存工作簿
Dim Book1 As New XLS.Book(file)
e.WriteBookAsHTML(Book1,False)
之前打开系统的时候能直接启动,现在打开的时候弹出了登录框,有没有可能跟它有关系,如果跟它有关系,怎么才能不弹出这个窗口呢?
代码在附件中,请老师帮忙测试一下。
[此贴子已经被作者于2025/1/10 10:28:37编辑过]
蓝老师,问题解决了,这种情况下foxtable似乎不支持动态的网页地址,用提交参数的方式可解决,谢谢!。