Foxtable(狐表)用户栏目专家坐堂 → 使用VBA生成网页 e.WriteExcelAsHTML(wb)失效


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

主题:使用VBA生成网页 e.WriteExcelAsHTML(wb)失效

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


加好友 发短信
等级:超级版主 帖子:107135 积分:544918 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/5/28 13:51:00 [显示全部帖子]

Excel文件发上来测试一下

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


加好友 发短信
等级:超级版主 帖子:107135 积分:544918 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/5/29 8:46:00 [显示全部帖子]

把文件放到项目的Attachments目录里,我这样测试没有问题

If e.Path.StartsWith("Reports\")
    e.Resp
    Select Case e.Path
        Case  "Reports\table1.htm"
            Dim app As New MSExcel.Application
            Dim wb As MSExcel.Workbook = app.WorkBooks.Open(ProjectPath & "Attachments\j48ck01.xlsx")
            'VBA代码
            e.WriteExcelAsHTML(wb)
        Case Else
            e.AsReportServer("Reports\")
    End Select
End If

AsReportServer看起来没有意义,实际上你删除这行代码的话,客户端不会显示任何内容,这是因为Excel报表转换成网页之后,并非只有一个单一的网页文件,还会生成一系列的辅助文件,需要通过AsReportServer方法将这些辅助文件发送给客户端。

我们也无需考虑多线程以及临时文件的处理,Foxtable会自动完成这些工作。

需要注意的是: AsReportServer的参数就是约定的报表目录,必须和第一行指定的报表目录相同,报表目录也必须是专用的,不能再用于访问其他网页。


 回到顶部