<%Response.Buffer = TrueResponse.ContentType = "applicatio" />
乔山办公网我们一直在努力
您的位置:乔山办公网 > excel表格制作 > 请教如何使用<em>ASP</em>生成真正的Excel文件!-asp 下载excel文件,as

请教如何使用<em>ASP</em>生成真正的Excel文件!-asp 下载excel文件,as

作者:乔山办公网日期:

返回目录:excel表格制作


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http:///TR/html4/loose.dtd">
<%
Response.Buffer = True
Response.ContentType = "application/vnd.ms-excel"
Response.AddHeader "content-disposition", "inline; filename = ASP_Excel.xls"' "inline; filename = "&request("username")&"_"&request("name")&"的档案e799bee5baa6e997aee7ad94e58685e5aeb9363.doc"
%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>Untitled Document</title>
</head>

<body>
<p>asgagsah</p>
<table width="100%" border="0" cellpadding="0" cellspacing="1" bgcolor="#000000">
<tr>
<td width="30%" bgcolor="#CCCCCC">sdafsagsgdsgds</td>
<td bgcolor="#FFFFFF">sdafsagsgdsgdssdafsagsgdsgdssdafsagsgdsgdssdafsagsgdsg
dssdafsagsgdsgdssdafsagsgdsgdssdafsagsgdsgdssdafsagsgdsgdssdafsagsgdsgds</td>
</tr>
<tr>
<td width="30%" bgcolor="#CCCCCC">sdgdsagdsgdsgsd</td>
<td bgcolor="#FFFFFF">sdafsagsgdsgds</td>
</tr>
<tr>
<td width="30%" bgcolor="#CCCCCC"> </td>
<td bgcolor="#FFFFFF"> </td>
</tr>
<tr>
<td width="30%" bgcolor="#CCCCCC">sdgdssdgdsdsg</td>
<td bgcolor="#FFFFFF">sfsafsddsgsd</td>
</tr>
</table>
<p>fsddssadgsa<img src="joyren/images/ADD.JPG" width="12" height="24">dgsdgds<img src="joyren/images/back_green.jpg" width="842" height="50"></p>
<table width="70%" border="0" cellpadding="0" cellspacing="1" bgcolor="#000000">
<tr>
<td bgcolor="#CCCCCC">sfsadfsadfdsag</td>
<td bgcolor="#FFFFFF"> </td>
</tr>
<tr>
<td bgcolor="#CCCCCC">gasdgsdagsgs</td>
<td bgcolor="#FFFFFF"> </td>
</tr>
<tr>
<td bgcolor="#CCCCCC">sdgsddsgsgs</td>
<td bgcolor="#FFFFFF"> </td>
</tr>
<tr>
<td bgcolor="#CCCCCC">sdgsdgdsgsgsgdsadgsagsd</td>
<td bgcolor="#FFFFFF"> </td>
</tr>
</table>
<p> </p>
<p>sdsaddsagsddsgds</p>
</body>
</html>

首先,如果是真正的Excel文件,那就摆脱不掉65535行限制,为什么?因为Excel文件就是这样,微软规定的。
第二zhidao,ASP的能力有限,没有DLL组件的话无法进行复杂的二进制编码计算,再说了,Excel文件的编码和解码微软也没有对外公开
第三,就算你有DLL也不能拿来用,Excel文件的版权归微软所有,别人无权对其进行编码解码,当然肯定有牛人能轻易的做到,但是这个事情属于dao版,大家还是很低调的。

综上所诉,asp无法生成你说的真正的、没有65535行限制的Excel文件。
<!--#include file="conn.asp"-->
<HTML>
<HEAD>
<meta content="text/html; charset=gb2312" http-equiv="Content-Type">
<TITLE>生成EXCEL文件</TITLE>
</HEAD>
<body>
<hr size=1 align=left width=300px>
<%
dim rs,sql,filename,fs,myfile,objSpreadsheet,x
Set fs = server.CreateObject("scripting.filesystemobject")
'--假设你想让生成的EXCEL文件做如下的存放
filename = Server.MapPath("online.xls")
'--如果原来的EXCEL文件存在的话就删除
if fs.FileExists(filename) then
fs.DeleteFile(filename)
end if
'Set objSpreadsheet = Server.CreateObject("OWC.Spreadsheet")
'objSpreadsheet.Cells(iRow, iCol).Font.Bold = True
'objSpreadsheet.Cells(iRow, iCol).Font.Italic = False
'objSpreadsheet.Cells(iRow, iCol).Font.Size = 10
'objSpreadsheet.Cells(iRow, iCol).Halignment = 2 '居中

'--创建EXCEL文件
set myfile = fs.CreateTextFile(filename,true)
Set rs = Server.CreateObject("ADODB.Recordset")
'--从数据库中把你想放到EXCEL中的数据读出来
sql = "select * from 表名 order by id desc"
rs.Open sql,conn,1,1

if rs.EOF and rs.BOF then
else
dim strLine,responsestr
strLine=""
For each x in rs.fields
strLine = strLine & x.name & chr(9)
Next
'--将表的列7a686964616fe59b9ee7ad94334名先写入EXCEL
myfile.writeline strLine
Do while Not rs.EOF
strLine=""
for each x in rs.Fields
strLine = strLine & x.value & chr(9)
next
'--将表的数据写入EXCEL
myfile.writeline strLine
rs.MoveNext
loop
response.Write("<a href='online.xls'>下载</a> ")
end if
rs.Close
set rs = nothing
%>

可以生成,最e799bee5baa6e78988e69d83362简单的是生成CSV
<%
dim conn,strconn
strconn="driver={Microsoft Access driver (*.mdb)};dbq="&server.mappath("dataBase/mydatabase.mdb") '这里改

为你的数据库地址
set conn=server.CreateObject("adodb.connection")
conn.Open strconn
dim s,sql,filename,fs,myfile,x
Set fs = server.CreateObject("scripting.filesystemobject")
成不同文件名的EXCEL文件,只需要更改excel.xls文件名
filename = Server.MapPath("excel.xls")
'--如果原来的EXCEL文件存在的话删除它
if fs.FileExists(filename) then
fs.DeleteFile(filename)
end if
'--创建EXCEL文件
set myfile = fs.CreateTextFile(filename,true)
strSql = "select * from tabList"
Set rstData = DataToRsStatic(conn,strSql)
if not rstData.EOF and not rstData.BOF then
dim trLine,responsestr
strLine = "序 号" & chr(9) & "姓 名" & chr(9) & "电 话" & chr(9) & "Q Q" & chr(9) & "邮 箱"

& chr(9) & "地 址" & chr(9) & "生 日" & chr(9) & "备 注"
'--将表的列名先写入EXCEL
myfile.writeline strLine
Do while Not rstData.EOF
strLine=""
strLine = rstData("fid") & chr(9) & rstData("fName")& chr(9) & rstData("fTel") & chr(9) &

rstData("fQQ") & chr(9) & rstData("fEmail")& chr(9)&rstData("fAddress")& chr(9) &rstData("birthday")&

chr(9) & rstData("fNote") & chr(9)& IfSendStr '括号改为你的数据库字段
myfile.writeline strLine
rstData.MoveNext
loop
end if
Response.Charset="utf-8"
Response.Write "生成EXCEL文件成功,点击<a href=""excel.xls"" target=""_blank"">下载</a>!"
rstData.Close
set rstData = nothing
Conn.Close
Set Conn = nothing
Function DataToRsStatic(Conn,strSql)
Dim RsStatic
Set DataToRsStatic = Nothing
If Conn Is Nothing Then
Exit Function
End If
Set RsStatic = CreateObject("ADODB.RecordSet")
RsStatic.CursorLocation = 3
RsStatic.Open strSql,Conn,3,3
If Err.Number <> 0 Then
Exit Function
End If
Set DataToRsStatic = RsStatic
End Function
%>

相关阅读

  • -asp连接 excel,aspexcel报表

  • 乔山办公网excel表格制作
  • 假设你的数据是D:1.XLS,工作表是e799bee5baa6e997aee7ad94e78988e69d83366:Sheet1 则连接串:strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:1.xls;Extended Proper
  • <em>asp</em>如何<em>显示excel</em>里的%-as

  • 乔山办公网excel表格制作
  • ASP读取EXCEL有某一列的数据读取不到,显示为空?" src="/uploads/tu/301.jpg" style="width: 400px; height: 267px;" />没懂你的意思,什么叫显示excel里的%,是你的asp在读取提交的excel文件吗?解决同一列
关键词不能为空
极力推荐

ppt怎么做_excel表格制作_office365_word文档_365办公网