乔山办公网我们一直在努力
您的位置:乔山办公网 > excel表格制作 > 在<em>ASP</em>中怎么把页面中的<em>数据导出到EXCEL</em

在<em>ASP</em>中怎么把页面中的<em>数据导出到EXCEL</em

作者:乔山办公网日期:

返回目录:excel表格制作


什么是HTML格式的EXCEL呢?
你打开一个Excel文件,另存为Html格式,就知道了

Response.ContentType 是告诉浏览器,服务器传递过来的内容是什么格
这个值默认是text/html

这个要在所有的客户机上设置浏览器权限,比如IE的修改方法:
进入Internet属性=》安全=》自定义级别,把ActiveX控件和插件下的所有选项都改成启用

因为js是客户端的,所以服务器不可能控制

我一般是用服务器生成html格式的Excel,然后设置
Response.ContentType = "application/vnd.ms-excel";
Response.AppendHeader("Content-Disposition", "inline;filename=abc.xls");

这样来下载excel,而且这样不用修改客户端的ie设置

在想导出结果的页面顶部加上以下代码即可:

<%
Response.ContentType = "application/msword"
Response.AddHeader "Content-Disposition", "attachment;filename="记录"&year(now)&month(now)&day(now)&".xls"
%>
方法一: function saveCode(obj) { var winname = window.open('', '_blank', 'top=10000'); var strHTML = document.all.tableExcel.innerHTML; winname.document.open('text/html', 'replace'); winname.document.writeln(strHTML); winname.document.execCommand('saveas','','excel.xls'); winname.close(); } 方法二: // Excel导出2 /** 如果javaScript报“Automation 服务器不能创建对象”,则按下方解决。 打开Internet Explorer “工具”菜单栏中的“选项”一栏,单击“安全7a686964616fe4b893e5b19e362”栏中的“自定义级别”选项卡, 将第三项“对没有标记为安全的activex控件进行初始化和脚本运行”设置成“启用”即可。 */ function exportExecl(tableId) { var table=document.getElementById(tableId); var oXL = new ActiveXObject("Excel.Application"); var oWB = oXL.Workbooks.Add(); var oSheet = oWB.ActiveSheet; var sel=document.body.createTextRange(); sel.moveToElementText(table); sel.select(); sel.execCommand("Copy"); oSheet.P... 方法一:
function saveCode(obj) {
var winname = window.open('', '_blank', 'top=10000');
var strHTML = document.all.tableExcel.innerHTML;
winname.document.open('text/html', 'replace');
winname.document.writeln(strHTML);
winname.document.execCommand('saveas','','excel.xls');
winname.close();
}
方法二:
// Excel导出2
/**
如果javaScript报“Automation 服务器不能创建对象”,则按下方解决。
打开Internet Explorer “工具”菜单栏中的“选项”一栏,单击“安全”栏中的“自定义级别”选项卡,
将第三项“对没有标记为安全的activex控件进行初始化和脚本运行”设置成“启用”即可。
*/
function exportExecl(tableId) {
var table=document.getElementById(tableId);
var oXL = new ActiveXObject("Excel.Application");
var oWB = oXL.Workbooks.Add();
var oSheet = oWB.ActiveSheet;
var sel=document.body.createTextRange();
sel.moveToElementText(table);
sel.select();
sel.execCommand("Copy");
oSheet.Paste();
oXL.Visible = true;
}
这里的tableId为表格的id

<!--#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文件存在e79fa5e98193e59b9ee7ad94334的话就删除
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
'--将表的列名先写入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
%>

相关阅读

关键词不能为空

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