以文本方式查看主题

-  昂捷论坛  (http://www.enjoyit.com.cn/bbs/index.asp)
--  □-系统配置管理类  (http://www.enjoyit.com.cn/bbs/list.asp?boardid=34)
----  问:有的报表没有[生成excel文件]按钮,如何处理  (http://www.enjoyit.com.cn/bbs/dispbbs.asp?boardid=34&id=8210)

--  作者:prcak47
--  发布时间:2012/2/14 11:04:58
--  问:有的报表没有[生成excel文件]按钮,如何处理

问:有的报表没有[生成excel文件]按钮,如何处理

具体表现为:


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


应该是这样子的:


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

 

答:模块编码为中文,会导致在某些计算机的浏览器下没有[生成excel文件]按钮

具体可以点菜单右键,查看模块信息,如图所示:


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

 

要解决这一问题,首先要注意的是,在制作报表的时候,不要在报表模块编码处填写模块名称,

可以为空,让其自动生成模块编码,也可以手动填写非中文的模块编码

如图所示:


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

 

已经存在的中文编码的报表,可以用以下语句批量修改

---修改中文报表模块编码 liujuncheng create 20120214
---提取所有模块编码为中文的模块信息
select *
into #nn
from tb_module
where patindex(\'%[吖-座]%\',c_code)>0

---select * from #nn
---删除不需要调整的报表
delete #nn
where c_code in (\'kkkkkk尹新清\',\'好好吃的菜哦\')

---创建临时表,存放新的编码和老的编码
create table #mm
(c_newcode varchar(300),
c_code varchar(300),
c_name varchar(300),
c_cname varchar(300))

---创建新的模块编码
insert into #mm(c_newcode,c_code,c_name,c_cname)
select newid(),c_code,c_name,c_cname
from #nn

---修改模块编码
update tb_module set c_code = #mm.c_newcode
from #mm
where tb_module.c_name = #mm.c_name
and tb_module.c_code = #mm.c_code

---修改菜单对应的模块编码
update tb_menu set c_mdcode = #mm.c_newcode
from #mm
where tb_menu.c_mdcode = #mm.c_code

---修改用户权限中的模块编码
update tb_mdlimit set c_mdcode = #mm.c_newcode
from #mm
where tb_mdlimit.c_mdcode = #mm.c_code

---修改用户组权限中的模块编码
update tb_mdlimit_group set c_mdcode = #mm.c_newcode
from #mm
where tb_mdlimit_group.c_mdcode = #mm.c_code