日期:2014-05-16  浏览次数:21069 次

如何取得服务器的路径
在一段程序中,有下面一句,。下面程序生成的文件不能 在网络环境下从服务器下载。
filePos=server.mappath("\temp") & "\tmp\" '要存放打印临时文件的临时目录 

全部的代码如下:
代码如下:
<!--#include file="adminconn.inc" -->
<%
'(1) 建立Excel.Application对象 
set objExcel=CreateObject("Excel.Application") 
'(2) 打开Excel模板 
objExcel.Workbooks.Open(server.mappath("\temp")&"\htxx.xlt") '打开Excel模板 
objExcel.Sheets(1).select '选中工作页 
set sheetActive=objExcel.ActiveWorkbook.ActiveSheet  
'(3) Excel的常规添加操作 
'sheetActive.range("g4").value=date()  '这里添加的是时间,当然也可以是你指定的任何数据 
'(4) Excel中添加数据库中的纪录 
'这里假设已有一个数据集adoRset,存放由Sql操作生成的统计数据。 
Set adoRset=Server.CreateObject("ADODB.RecordSet") 
sql="select * from hetong order by id"
   adoRset.open sql,conn,1,1


num=3 '从Excel的第七行开始 
do until adoRset.EOF '循环直至数据集中的数据写完 
strRange="a"&num&":j"&num '设定要填写内容的单元区域 
sheetActive.range(strRange).font.size=10 '设定字体大小 
sheetActive.range(strRange).WrapText=false '设定文字回卷 
sheetActive.range(strRange).ShrinkToFit=true '设定是否自动适应表格单元大小 
sheetActive.range(strRange).value=array(ltrim(trim(adoRset("fenlei"))),ltrim(trim(adoRset("htbh")))&" "&ltrim(trim(adoRset("htbh_bc"))),ltrim(trim(adoRset("htdw"))),ltrim(trim(adoRset("wzmc"))),ltrim(trim(adoRset("htje"))),adoRset("yfk_bl")*100,adoRset("jsk_bl")*100,adoRset("zbj_bl")*100,adoRset("qd_date"),ltrim(trim(adoRset("beizhu"))) ) '把数据集中的数据填写到相应的单元中 
num=num+1 
adoRset.MoveNext 
loop 

'(5) Excel临时报表文件的保存及处理 
function getTemporaryFile(myFileSystem)  
dim tempFile,dotPos 
tempFile=myFileSystem.getTempName 
dotPos=instr(1,tempFile,".") 
getTemporaryFile=mid(tempFile,1,dotPos)&"xls" 
end function  
set myFs=createObject("scripting.FileSystemObject") 
filePos=server.mappath("\temp") & "\tmp\" '要存放打印临时文件的临时目录 
fileName=getTemporaryFile(myFs) '取得一个临时文件名 
'myFs.DeleteFile filePos&"*.xls" '删除该目录下所有原先产生的临时打印文件 
set myFs=nothing 
'Excel临时文件的保存代码为: 
objExcel.ActiveWorkbook.saveas filePos&filename  

'(6) 退出Excel应用 
objExcel.quit 
set objExcel=Nothing 

%>

------解决方案--------------------
看你原来的帖子。。直接从更目录下得到连接地址,注意是/,不是\分隔路径