请教asp导出excel的问题?
比如数据库里一个表(或查询表),导出为一个excel的a.xls文件,库中另表也做导出,导出为a.xls里的另个sheet(活页,如sheet2,sheet3....)。
搜索了一堆,没找到相关答案,想请高手们举个例子。
------解决方案--------------------http://blog.csdn.net/loglf/article/details/6048385
------解决方案--------------------多个sheet你需要导出成xml格式的。
------解决方案--------------------
参见类似的asp.net的实现方法
http://dotnet.aspx.cc/file/Export-Gridview-To-Excel-With-Multi-Sheet.aspx
------解决方案--------------------
<script type="text/javascript" src="excel.js"> </script>
<div align="center">
<input type="button" value="导出该班级学员信息为excel文档" onclick="toExcel(tblData)">
</div>
<table width=930 border=1 align=center cellpadding=0 cellspacing=0 bordercolor="#0099CC" id=tbldat>
<tr>
<td height=25 background="/images/xin/reading507.gif">学员姓名</td>
........
</tr>
sql语句。。。。。。。。。
循环
<tr>
<td height=25 background="/images/xin/reading507.gif"><%=rs("xm")%></td>
........
</tr>
结束循环
</table>
excel.js代码如下:
var idTmr = "";
function copy(tabid)
{
var oControlRange = document.body.createControlRange();
oControlRange.add(tabid,0);
oControlRange.select();
document.execCommand("Copy");
}
function toExcel(tabid){
copy(tabid);
try
{
var xls = new ActiveXObject( "Excel.Application" );
}
catch(e)
{
alert( "Excel没有安装或浏览器设置不正确.请启用所有Active控件和插件(方法:右击IE选择属性→选择“安全”选项卡→选择“internet”下的“自定义级别(c)...”按纽→启用所有Active控件和插件)");
return false;
}
xls.visible = true;
var xlBook = xls.Workbooks.Add;
var xlsheet = xlBook.Worksheets(1);
xlBook.Worksheets(1).Activate;
var hang = tabid.rows.length;
var lie = tabid.rows(0).cells.length;
for (i=0;i <hang;i++)
{
for (j=0;j <lie;j++)
{
xlsheet.Cells(i+1,j+1).value = tabid.rows(i).cells(j).innerText;
// xlsheet.Columns[4].NumberFormat='@';
// xlsheet.Cells.Item[i+1,4].numberformatlocal='@';
}
}
xlsheet.Paste;
xls=null;
idTmr = window.setInterval("Cleanup();",1);
}
function Cleanup() {
window.clearInterval(idTmr);
CollectGarbage();
}
------解决方案--------------------
先自己用excel做一个多sheet的模板表,然后另存为xml,用记事本等编辑器打开这个xml,就可以看到xml的编写方法,然后用asp的写文件方法,原样写一个这样的xml文件就行了,把里面的数据位置替换成你的数据,扩展名改成xls,用excel就能打开,还支持公式,样式什么的,比你现在的方法好很多
------解决方案--------------------
这跟语言没关系,只要你知道你的语言怎么写txt文件就行了,生成xml文件后再response.redirect 你的生成的文件名就行了,非得别人给你贴代码你拷贝一下你才满意?你按照我说的试一下就知道了,可以提升你100点的编程经验值和50点的武力值,哈哈哈