Foxtable(狐表)用户栏目专家坐堂 → HttpRequest 怎么发送excel报表……


  共有4802人关注过本帖树形打印复制链接

主题:HttpRequest 怎么发送excel报表……

帅哥哟,离线,有人找我吗?
cnsjroom
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1571 积分:11238 威望:0 精华:0 注册:2021/1/17 17:06:00
HttpRequest 怎么发送excel报表……  发帖心情 Post By:2022/5/6 15:29:00 [只看该作者]

HttpRequest事件代码

If e.Path.StartsWith("Reports\")
    e.Resp
    Select Case e.Path
        Case  "Reports\sbb.htm"
            e.AsyncExecute = True
            Functions.AsyncExecute("申报表","RK-20220506-058",e)
        Case  "Reports\sbbexcel.htm"
            e.AsyncExecute = True
            Functions.AsyncExecute("申报表Excel","RK-20220506-058",e)
        Case  "Reports\sbbpdf.htm"
            e.AsyncExecute = True
            Functions.AsyncExecute("申报表PDF","RK-20220506-058",e)
        Case  "Reports\jianli.htm"
            Dim Book As New XLS.Book(ProjectPath & "Attachments\财产收入情况申报表.xlsx")
            e.WriteBookAsHTML(Book)
        Case Else
            e.AsReportServer("Reports\")
    End Select
End If

怎么实现在sbbexcel  sbbpdf的时候  对应的文件进行下载呢?
在本机器服务器上运行的时候 可以正常的打开对应的excel  pdf文件

在别的地方就不能正常打开excel pdf……



申报表excel内部函数代码:
Dim tbn As String = args(0) '主表id传参
Dim e As RequestEventArgs = args(1)
Dim tR123 As DataRow = DataTables("h5设置").Find("id = '1'")
Dim cmd As new SQLC ommand
cmd.Connect ionName = tr123("数据库名称")
Dim Book As New XLS.Book(ProjectPath & "Attachments\财产收入情况申报表.xlsx")
Dim fl As String = ProjectPath & "Reports\财产收入情况申报表.xlsx"
Dim f2 As String = ProjectPath & "Reports\财产收入情况申报表.pdf"
Dim Sheet As XLS.Sheet = Book.Sheets(0)
With Sheet.PrintSetting
    .PaperKind = 9 '设为A4纸
    .LandScape = False '横向打印
    .MarginLeft = 10 '左右边距设为20毫米
    .MarginRight = 10
    .MarginTop = 20 '上下边距设为15毫米
    .MarginBottom = 15
End With
book.AddDataTable("填报人信息",tr123("数据库名称"),"Select * f rom {填报人信息} where 主表id= '" & tbn & "'") '添加父表
book.AddDataTable("亲属信息",tr123("数据库名称"),"Select * fro m {亲属信息} where 主表id= '" & tbn & "'") '添加子表
book.AddDataTable("收入情况",tr123("数据库名称"),"Select * fro m {收入情况} where 主表id= '" & tbn & "'") '添加子表
book.AddDataTable("存款情况",tr123("数据库名称"),"Select * fr om {存款情况} where 主表id= '" & tbn & "'") '添加子表
book.AddDataTable("其他投资",tr123("数据库名称"),"Select * fro m {其他投资} where 主表id= '" & tbn & "'") '添加子表
book.AddDataTable("债务情况",tr123("数据库名称"),"Select * fro m {债务情况} where 主表id= '" & tbn & "'") '添加子表
book.AddDataTable("私人借款",tr123("数据库名称"),"Select * fro m {私人借款} where 主表id= '" & tbn & "'") '添加子表
book.AddDataTable("债权情况",tr123("数据库名称"),"Select * fro m {债权情况} where 主表id= '" & tbn & "'") '添加子表
book.AddDataTable("其他说明",tr123("数据库名称"),"Select * fro m {其他说明} where 主表id= '" & tbn & "'") '添加子表
book.AddDataTable("经商办企业情况",tr123("数据库名称"),"Select * fr om {经商办企业情况} where 主表id= '" & tbn & "'") '添加子表
book.AddDataTable("车辆情况",tr123("数据库名称"),"Select * fro m {车辆情况} where 主表id= '" & tbn & "'") '添加子表
book.AddDataTable("房产情况",tr123("数据库名称"),"Select * fr om {房产情况} where 主表id= '" & tbn & "'") '添加子表
book.AddDataTable("股piao信息",tr123("数据库名称"),"Select * fr om {股piao信息} where 主表id= '" & tbn & "'") '添加子表
book.AddDataTable("持有基金情况",tr123("数据库名称"),"Select * f rom {持有基金情况} where 主表id= '" & tbn & "'") '添加子表
book.AddDataTable("持有期货",tr123("数据库名称"),"Select * fr om {持有期货} where 主表id= '" & tbn & "'") '添加子表
book.AddDataTable("持有其他投资",tr123("数据库名称"),"Select * fro m {持有其他投资} where 主表id= '" & tbn & "'") '添加子表
book.AddDataTable("投资公司企业情况",tr123("数据库名称"),"Select * fro m {投资公司企业情况} where 主表id= '" & tbn & "'") '添加子表
book.AddDataTable("其他财产申报",tr123("数据库名称"),"Select * fro m {其他财产申报} where 主表id= '" & tbn & "'") '添加子表
book.AddRelation("填报人信息","主表id","亲属信息","主表id") '建立关联
book.AddRelation("填报人信息","主表id","收入情况","主表id") '建立关联
book.AddRelation("填报人信息","主表id","存款情况","主表id") '建立关联
book.AddRelation("填报人信息","主表id","其他投资","主表id") '建立关联
book.AddRelation("填报人信息","主表id","债务情况","主表id") '建立关联
book.AddRelation("填报人信息","主表id","私人借款","主表id") '建立关联
book.AddRelation("填报人信息","主表id","债权情况","主表id") '建立关联
book.AddRelation("填报人信息","主表id","其他说明","主表id") '建立关联
book.AddRelation("填报人信息","主表id","经商办企业情况","主表id") '建立关联
book.AddRelation("填报人信息","主表id","车辆情况","主表id") '建立关联
book.AddRelation("填报人信息","主表id","房产情况","主表id") '建立关联
book.AddRelation("填报人信息","主表id","股piao信息","主表id") '建立关联
book.AddRelation("填报人信息","主表id","持有基金情况","主表id") '建立关联
book.AddRelation("填报人信息","主表id","持有期货","主表id") '建立关联
book.AddRelation("填报人信息","主表id","持有其他投资","主表id") 
book.AddRelation("填报人信息","主表id","投资公司企业情况","主表id") '建立关联
book.AddRelation("填报人信息","主表id","其他财产申报","主表id") '建立关联
Book.Build() '生成细节区
Book.Save(fl) '保存工作簿
Dim Proc As New Process '打开工作簿
Proc.File = fl
Proc.Start()
e.WriteString("申报表已经生成Excel格式,请自行选择保存或打印!")


 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:111393 积分:567029 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/5/6 15:38:00 [只看该作者]

参考:http://www.foxtable.com/mobilehelp/topics/0148.htm
Dim Proc As New Process '打开工作簿
Proc.File = fl
Proc.Start()
e.WriteString("申报表已经生成Excel格式,请自行选择保存或打印!")
改为
e.WriteString(fl)
[此贴子已经被作者于2022/5/6 15:38:18编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
cnsjroom
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1571 积分:11238 威望:0 精华:0 注册:2021/1/17 17:06:00
回复:(有点蓝)参考:http://www.foxtable.com/mobi...  发帖心情 Post By:2022/5/6 16:18:00 [只看该作者]

e.WriteString("申报表已经生成Excel格式,请自行选择保存或打印!")改为e.WriteString(fl)   还是不行哦
http://lxc15285336747.uicp.net/Reports/sbbexcel.htm
老师可以打开这个链接  打开之后并没有下载数据!而是在服务器端打开了对应的excel文件!

上面对应的链接帮助  看了一下 没有头绪!因为代码较多  不便于全部都写在那http服务事件代码中   怎么修正内部函数或者对应的服务事件代码 解决呢?
[此贴子已经被作者于2022/5/6 16:19:53编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:111393 积分:567029 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/5/6 16:23:00 [只看该作者]

……
book.AddRelation("填报人信息", "主表id", "股piao信息", "主表id") '建立关联
book.AddRelation("填报人信息", "主表id", "持有基金情况", "主表id") '建立关联
book.AddRelation("填报人信息", "主表id", "持有期货", "主表id") '建立关联
book.AddRelation("填报人信息", "主表id", "持有其他投资", "主表id") 
book.AddRelation("填报人信息", "主表id", "投资公司企业情况", "主表id") '建立关联
book.AddRelation("填报人信息", "主表id", "其他财产申报", "主表id") '建立关联
Book.Build() '生成细节区
Book.Save(fl) '保存工作簿
e.WriteString(fl)
e.Handled = True  '通知系统异步函数执行完毕,可以关闭信道

[此贴子已经被作者于2022/5/6 16:24:23编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
cnsjroom
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1571 积分:11238 威望:0 精华:0 注册:2021/1/17 17:06:00
回复:(有点蓝)……book.AddRelation("填报人信息",...  发帖心情 Post By:2022/5/6 16:30:00 [只看该作者]

C:\Users\Administrator\桌面\H5\Reports\财产收入情况申报表.xlsx
还是没有正常打开这个excel  只是在屏幕上输出了这个文件所在的服务器位置
没有执行下载任务……


'e.WriteFile(fl)
e.WriteBook(book,"出库单.xls",True)
都得到的sbbexcel.htm文件  打开是乱码
[此贴子已经被作者于2022/5/6 16:33:34编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:111393 积分:567029 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/5/6 16:37:00 [只看该作者]

文件名问题
Case  "Reports\sbbexcel.htm"
改为
Case  "Reports\sbbexcel.xls"


乱码参考:http://www.foxtable.com/mobilehelp/topics/0288.htm

 回到顶部
帅哥哟,离线,有人找我吗?
cnsjroom
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1571 积分:11238 威望:0 精华:0 注册:2021/1/17 17:06:00
回复:(有点蓝)文件名问题Case  "Reports\sbbe...  发帖心情 Post By:2022/5/6 17:05:00 [只看该作者]

乱码这个参照说明操作了的

改成xls后  原有excel模板里面的字样不显示了  
只生成了对应的一部分数据内容

图片点击可在新窗口打开查看此主题相关图片如下:12.png
图片点击可在新窗口打开查看


 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:111393 积分:567029 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/5/6 17:19:00 [只看该作者]

字样不显示不可能和改成xls有直接的关系。有问题应该也是模板,或者是数据问题

 回到顶部
帅哥哟,离线,有人找我吗?
cnsjroom
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1571 积分:11238 威望:0 精华:0 注册:2021/1/17 17:06:00
回复:(有点蓝)字样不显示不可能和改成xls有直接的关...  发帖心情 Post By:2022/5/6 17:23:00 [只看该作者]

谢谢老师   改用 WriteString 解决楼上excel部分数据不显示的问题 

如果将excel转成pdf则提示如下:麻烦老师继续指导下!谢谢……

.NET Framework 版本:4.0.30319.42000
Foxtable 版本:2022.1.30.2
错误所在事件:自定义函数,申报表PDF
详细错误信息:
调用的目标发生了异常。
值不在预期的范围内。


申报表PDF  内部函数代码如下:
Dim tbn As String = args(0) '主表id传参
Dim e As RequestEventArgs = args(1)
Dim tR123 As DataRow = DataTables("h5设置").Find("id = '1'")
Dim cmd As new SQLCom mand
cmd.Connecti onName = tr123("数据库名称")
Dim Book As New XLS.Book(ProjectPath & "Attachments\财产收入情况申报表.xlsx")
Dim fl As String = ProjectPath & "Reports\财产收入情况申报表.xlsx"
Dim f2 As String = ProjectPath & "Reports\财产收入情况申报表.pdf"
Dim Sheet As XLS.Sheet = Book.Sheets(0)
With Sheet.PrintSetting
    .PaperKind = 9 '设为A4纸
    .LandScape = False '横向打印
    .MarginLeft = 10 '左右边距设为20毫米
    .MarginRight = 10
    .MarginTop = 20 '上下边距设为15毫米
    .MarginBottom = 15
End With
book.AddDataTable("填报人信息",tr123("数据库名称"),"Select * fr om {填报人信息} where 主表id= '" & tbn & "'") '添加父表
book.AddDataTable("亲属信息",tr123("数据库名称"),"Select * fro m {亲属信息} where 主表id= '" & tbn & "'") '添加子表
book.AddDataTable("收入情况",tr123("数据库名称"),"Select * fro m {收入情况} where 主表id= '" & tbn & "'") '添加子表
book.AddDataTable("存款情况",tr123("数据库名称"),"Select * fro m {存款情况} where 主表id= '" & tbn & "'") '添加子表
book.AddDataTable("其他投资",tr123("数据库名称"),"Select * fro m {其他投资} where 主表id= '" & tbn & "'") '添加子表
book.AddDataTable("债务情况",tr123("数据库名称"),"Select * fro m {债务情况} where 主表id= '" & tbn & "'") '添加子表
book.AddDataTable("私人借款",tr123("数据库名称"),"Select * fro m {私人借款} where 主表id= '" & tbn & "'") '添加子表
book.AddDataTable("债权情况",tr123("数据库名称"),"Select * fro m {债权情况} where 主表id= '" & tbn & "'") '添加子表
book.AddDataTable("其他说明",tr123("数据库名称"),"Select * fro m {其他说明} where 主表id= '" & tbn & "'") '添加子表
book.AddDataTable("经商办企业情况",tr123("数据库名称"),"Select * fr om {经商办企业情况} where 主表id= '" & tbn & "'") '添加子表
book.AddDataTable("车辆情况",tr123("数据库名称"),"Select * fro m {车辆情况} where 主表id= '" & tbn & "'") '添加子表
book.AddDataTable("房产情况",tr123("数据库名称"),"Select * fro m {房产情况} where 主表id= '" & tbn & "'") '添加子表
book.AddDataTable("股piao信息",tr123("数据库名称"),"Select * fro m {股piao信息} where 主表id= '" & tbn & "'") '添加子表
book.AddDataTable("持有基金情况",tr123("数据库名称"),"Select * fr om {持有基金情况} where 主表id= '" & tbn & "'") '添加子表
book.AddDataTable("持有期货",tr123("数据库名称"),"Select * fro m {持有期货} where 主表id= '" & tbn & "'") '添加子表
book.AddDataTable("持有其他投资",tr123("数据库名称"),"Select * fro m {持有其他投资} where 主表id= '" & tbn & "'") '添加子表
book.AddDataTable("投资公司企业情况",tr123("数据库名称"),"Select * fr om {投资公司企业情况} where 主表id= '" & tbn & "'") '添加子表
book.AddDataTable("其他财产申报",tr123("数据库名称"),"Select * fro m {其他财产申报} where 主表id= '" & tbn & "'") '添加子表
book.AddRelation("填报人信息","主表id","亲属信息","主表id") '建立关联
book.AddRelation("填报人信息","主表id","收入情况","主表id") '建立关联
book.AddRelation("填报人信息","主表id","存款情况","主表id") '建立关联
book.AddRelation("填报人信息","主表id","其他投资","主表id") '建立关联
book.AddRelation("填报人信息","主表id","债务情况","主表id") '建立关联
book.AddRelation("填报人信息","主表id","私人借款","主表id") '建立关联
book.AddRelation("填报人信息","主表id","债权情况","主表id") '建立关联
book.AddRelation("填报人信息","主表id","其他说明","主表id") '建立关联
book.AddRelation("填报人信息","主表id","经商办企业情况","主表id") '建立关联
book.AddRelation("填报人信息","主表id","车辆情况","主表id") '建立关联
book.AddRelation("填报人信息","主表id","房产情况","主表id") '建立关联
book.AddRelation("填报人信息","主表id","股piao信息","主表id") '建立关联
book.AddRelation("填报人信息","主表id","持有基金情况","主表id") '建立关联
book.AddRelation("填报人信息","主表id","持有期货","主表id") '建立关联
book.AddRelation("填报人信息","主表id","持有其他投资","主表id") 
book.AddRelation("填报人信息","主表id","投资公司企业情况","主表id") '建立关联
book.AddRelation("填报人信息","主表id","其他财产申报","主表id") '建立关联
Book.Build() '生成细节区
Book.Save(fl) '保存工作簿
book.SaveToPDF(f2)
e.WriteString(f2)
e.Handled = True  '通知系统异步函数执行完毕,可以关闭信道

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:111393 积分:567029 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/5/6 17:29:00 [只看该作者]

去掉下面代码

Book.Build() '生成细节区
Book.Save(fl) '保存工作簿

 回到顶部
总数 12 1 2 下一页