职位关键字 工作地点
工作名称 公司名称 校园招聘
中国最好的工作搜索引擎!
  回复留言  
  [问]关于ASP导出Excel的问题
作者: Flycat1022  01-01 08:00   回复  
 -

ASP导出Excel的几个要求:

1, 不生成中间文件

由于文件包含了一些机密数字, 所以要求不能是生成xls文件后下载此文件.



2, 生成后可在文件中插入工作表, 且不生成filename.files目录

一般使用网页直接保存成xls(无论客户端或服务器端)均有这个问题~~~



3, 尽量使用服务器端实现, 因为客户端实现容易出现很多问题..如js被屏蔽之类的~~~



谢谢!

  回复:[问]关于ASP导出Excel的问题
作者: KingsNet  01-01 08:00   回复  
 把我开发的WEB版编码系统导出XLS的代码贴出来吧,你参照着修改一下就可以实现你要的功能。

在其他页面用location.href(这样不会新开窗口)调用它:<a href="javascript:location.href='SaveXls.asp?sql=xxx'">导出</a>

<!--#include file="Conn.asp"-->

<%

Response.Buffer = True

Response.ExpiresAbsolute = Now() - 1

Response.Expires = 0

Response.CacheControl = "no-cache"

Response.AddHeader "Pragma", "No-Cache"

Response.Clear

Dim MySql

Dim Rs,Sql

Dim objFSO,xlsFile,objStream

Dim FileName

Dim XlsSize,XlsName

Set objFSO = Server.CreateObject("Scripting.FileSystemObject")

FileName = Server.MapPath(".") & "\" & Replace(objFSO.GetTempName,".tmp","") & ".xls"

If objFSO.FileExists(FileName) Then

objFSO.DeleteFile(FileName)

End If

Set xlsFile = objFSO.CreateTextFile(FileName,true)

xlsFile.WriteLine "图号" & CHR(9) & "原图号" & CHR(9) & "规格" & CHR(9) & "名称" & CHR(9) & "英文名称" & CHR(9) & "材料" & CHR(9) & "设计" & CHR(9) & "设计日期" & CHR(9) & "校对" & CHR(9) & "审核" & CHR(9) & "工艺审查" & CHR(9) & "标准化" & CHR(9) & "批准" & CHR(9) & "批准日期" & CHR(9) & "图幅" & CHR(9) & "比例" & CHR(9) & "来源" & CHR(9) & "图样标记" & CHR(9) & "重量" & CHR(9) & "编码人" & CHR(9) & "编码日期" & CHR(9) & "编码时间" & CHR(9) & "编码状态" & CHR(9) & "任务组名" & CHR(9) & "说明" & CHR(9) & "Windchill用否"

Call OpenConn

MySql=Request("sql")

MySql=Replace(Replace(Replace(MySql,"[gt;]",">"),"[lt;]","<"),"CHR(37)","%")

Set Rs=Server.CreateObject("ADODB.RecordSet")

Sql="Select * From [bm] "&MySql

Rs.Open Sql,Conn,1,1

Do While Not Rs.EOF

xlsFile.WriteLine Rs("图号") & CHR(9) & Rs("原图号") & CHR(9) & Rs("规格") & CHR(9) & Rs("名称") & CHR(9) & Rs("英文名称") & CHR(9) & Rs("材料") & CHR(9) & Rs("设计") & CHR(9) & Rs("设计日期") & CHR(9) & Rs("校对") & CHR(9) & Rs("审核") & CHR(9) & Rs("工艺审查") & CHR(9) & Rs("标准化") & CHR(9) & Rs("批准") & CHR(9) & Rs("批准日期") & CHR(9) & Rs("图幅") & CHR(9) & Rs("比例") & CHR(9) & Rs("来源") & CHR(9) & Rs("图样标记") & CHR(9) & Rs("重量") & CHR(9) & Rs("编码人") & CHR(9) & Rs("编码日期") & CHR(9) & Rs("编码时间") & CHR(9) & Rs("编码状态") & CHR(9) & Rs("任务组名") & CHR(9) & Rs("说明") & CHR(9) & Rs("wt_used")

Rs.MoveNext

Loop

Rs.Close

Set Rs=Nothing

Call CloseConn

Set xlsFile = Nothing

Set xlsFile = objFSO.GetFile(FileName)

XlsSize = xlsFile.Size

'XlsName = xlsFile.Name

Set xlsFile = Nothing



Set objStream = Server.CreateObject("ADODB.Stream")

objStream.Open

objStream.Type = 1

objStream.LoadFromFile FileName

Response.AddHeader "Content-Disposition", "attachment; filename=查询结果.xls"

Response.AddHeader "Content-Length", XlsSize

Response.Charset = "UTF-8"

Response.ContentType = "application/vnd.ms-excel"

Response.BinaryWrite objStream.Read

Response.Flush

Response.Clear()

objStream.Close

Set objStream = Nothing

objFSO.DeleteFile FileName

Set objFSO = Nothing

%>

  回复:[问]关于ASP导出Excel的问题
作者: wangzi9841  01-08 09:40   回复  
 可以下载了,不过打开还是有点问题,谢谢

  回复:[问]关于ASP导出Excel的问题
作者: wangzi9841  01-08 09:40   回复  
 KingsNet,为什么可以生成EXCEL文件,但是运行时总是无法打开,也无法下载,说找不到文件

  回复:[问]关于ASP导出Excel的问题
作者: Flycat1022  01-08 09:40   回复  
 done! 谢谢kingsNet

  回复:[问]关于ASP导出Excel的问题
作者: hmj623  01-08 09:40   回复  
  EXCEL中单元格的默认格式是常规,数字前面的0就自动去掉了,要把单元格格式设置成文本格式才行

标 题:
内 容:
用户名:
 游客
 
 
Copyright©2005-2007, 版权所有 WWW.JOBMET.COM
ICP证:京ICP备06019556号