| 发表于:2007-05-06 17:30:50 楼主 |
我目前在做一个关于报表打印的项目,具体的操作方式是先从数据库中得到数据 再把数据放到已经设定好地excel模板中然后打印出来,我在本地的iis上就是http://localhost中进行测试没有发现任何的问题,我把程序发送到服务器端进行测试却不能正常的运行,现象是看到excel的图标在状态栏下面一闪就消失了,不能进入到打印的界面,我查资料有的说是权限不够不能在服务器端建立excel对象,于是我使用dcomcnfg把服务器上的excel组件也进行了修改,添加了everyone和aspnet用户,权限也设置为完全控制,在system32/下把msvb6.0.dll文件也设置了可以完全访问,在iis中所有的目录也可以匿名访问,但就是不能解决问题,希望在座各位大侠能帮帮我,我就要疯了,2天了几乎不睡觉也没有解决这个问题,我在这里先谢谢大家,以下是我的源代码: ' ' ' ' ' ' ' '完成打印功能 ' ' ' ' ' ' ' ' ' ' if request.querystring( "print ") = "true " then '判断是否单击打印了打印连接 if rs.recordcount=0 then response.write " <script language= 'vbscript '> alert( " "对不起,没有信息供打印! " ") </script> " end if '开始进行对excel模板进行读取 set objexcelapp = createobject( "excel.application ") objexcelapp.displayalerts = false '打开已有的excel文件模板 straddr = server.mappath( "/excel/ ") objexcelapp.workbooks.open(straddr & "table.xls ") '对已经由asp打开的excle文件进行操作 set objexcelbook = objexcelapp.activeworkbook set objexcelsheets = objexcelbook.worksheets set objexcelsheet = objexcelbook.sheets(1) '开始对已经打开的excel文件输入数据 objexcelapp.application.visible = true for i =3 to rs.recordcount objexcelsheet.cells(i,1).value = rs( "skrq ") objexcelsheet.cells(i,2).value = rs( "yhxm ") objexcelsheet.cells(i,3).value = rs( "yjje ") objexcelsheet.cells(i,4).value = rs( "sjje ") objexcelsheet.cells(i,5).value = rs( "skr ") objexcelsheet.cells(i,6).value = rs( "czr ") objexcelsheet.cells(i,7).value = rs( "yhbm ") objexcelsheet.cells(i,8).value = rs( "yhbm ") objexcelsheet.cells(i,9).value = rs( "yhbm ") if not rs.eof then rs.movenext next '保存已写好的excel文件 straddr = server.mappath( "/excel/ ") objexcelbook.saveas straddr & "tabletable.xls " objexcelbook.saved=true objexcelapp.visible=true objexcelsheet.printpreview '关闭打开的各种资源 objexcelapp.quit set objexcelsheet = nothing set objexcelbook = nothing set objexcelapp = nothing end if |
|
|
|
|