以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 问下服务端报表 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=142886) |
-- 作者:blackzhu -- 发布时间:2019/11/8 10:25:00 -- 问下服务端报表 Excel报表与后台数据 如果你是一个网页设计高手,那么网页的数据展示能力是非常优秀的。 经过综合考虑,我们选择了Excel报表来完成这项任务,但是在Foxtable 2017之前,Excel报表只能根据已经加载的数据生成,而作为服务端程序,通常是没有办法将所有数据加载的。 所以,我们对Excel报表进行了改进,使得其可以直接基于后台数据生成报表。 我首先要提醒大家一下: 如果我生成的是html 这个资源耗的厉害吗? |
-- 作者:blackzhu -- 发布时间:2019/11/8 10:31:00 -- 现在excel 没有 savehtm了吗? 如果只有EXCEL 报表的话,报表安全性有问题,比如被人再次编辑 [此贴子已经被作者于2019/11/8 10:34:33编辑过]
|
-- 作者:有点蓝 -- 发布时间:2019/11/8 10:48:00 -- 一直都没有savehtm的吧 使用vba另存为HTML格式 Dim App As New MSExcel.Application Dim Wb As MSExcel.Workbook = App.WorkBooks.Open("E:\\问题\\Reports\\abc.xls") Wb.SaveAs("E:\\问题\\abc.html",MSExcel.XlFileFormat.xlHtml) App.Quit |
-- 作者:blackzhu -- 发布时间:2019/11/8 10:55:00 -- 我刚才想到这个了,在测试呢 |
-- 作者:blackzhu -- 发布时间:2019/11/8 11:16:00 -- 直接服务器崩溃了 |
-- 作者:有点蓝 -- 发布时间:2019/11/8 11:23:00 -- 写了什么代码? |
-- 作者:blackzhu -- 发布时间:2019/11/8 11:32:00 -- 生成了报表然后再用下面的代码生成了html,再下载,然后就崩溃了,另外服务器项目文件夹产生了转换以后的一堆文件. Dim App As New MSExcel.Application Dim Wb As MSExcel.Workbook = App.WorkBooks.Open("E:\\问题\\Reports\\abc.xls") Wb.SaveAs("E:\\问题\\abc.html",MSExcel.XlFileFormat.xlHtml) App.Quit 不能解决EXCEL不可以编辑的问题是个大问题.为啥不能保存为pdf呢!
[此贴子已经被作者于2019/11/8 11:33:45编辑过]
|
-- 作者:有点蓝 -- 发布时间:2019/11/8 11:38:00 -- 生成的网页像普通网页一样打开即可,下什么载!贴出自己完整代码,贴别人的代码没有任何意义 至于保存为pdf,1楼不是有详细说明了吗?
|
-- 作者:blackzhu -- 发布时间:2019/11/8 11:44:00 -- 我再想想,是哦 可以直接访问这个页面的 [此贴子已经被作者于2019/11/8 11:44:57编辑过]
|
-- 作者:blackzhu -- 发布时间:2019/11/8 11:54:00 -- Dim RKGUID As String = e.Values("RKGUID") Dim rkd As String = e.Values("rkd") If RKGUID > "" Then Dim Book As New XLS.Book(ProjectPath & "Attachments\\入库单.xls") Dim fl As String = ProjectPath & "入库单" & e.Values("rkd") & ".xls" Book.AddDataTable("产品入库", "服务器", "Sel ect * from 产品入库 where GUID=\'" & RKGUID & "\'") \'添加父表入库 Book.AddDataTable("产品入库明细", "服务器", "Sel ect * from 产品入库明细 where 入库ID=\'" & RKGUID & "\'") \'添加子表 Book.AddRelation("产品入库", "GUID", "产品入库明细", "入库ID") \'建立关联 Book.PreBuild = True \'非报表模请将PreBuild 属性设置为False \' e.WriteBook(Book, "入库单" & e.Values("rkd") & ".xls", False) Book.Build() \'生成细节区 Book.Save(fl) \'保存工作簿 Dim App As New Excel.Application Dim Wb As Excel.Workbook = App.Workbooks.Open(fl) Wb.SaveAs(fl.Replace("xls", "html"), Excel.XlFileFormat.xlHtml) App.Quit() 网页 js 代码 function rkPrint() { var row = $(\'#rktable\').datagrid(\'getSelected\'); if (!row) { $.messager.alert("警告", "请选择要打印的单据!", \'warning\'); } else { var rowIndex = $(\'#rktable\').datagrid(\'getRowIndex\', row); if (rowIndex >= -1) { location = "../downExcel?RKGUID=" + row.入库ID + "&rkd="+ row.入库单号; console.log("../downExcel?RKGUID=" + row.入库ID + "&rkd="+ row.入库单号); } } } 这个直接打开这个生成的网页应该怎么改? |