----------------------------------------------------------------
<%response.ContentType ="application/vnd.ms-excel"
Response.AddHeader "Content-Disposition", "attachment; filename="&"1.xls"%>
<table>
能不能只保存其中一个表的内容?或者是有没有更好的保存网页表格为xls格式的代码?请高手指点?
16 个解决方案
#1
有没有好的方法?
#2
你可以把两个表的数据分别用两个<table>显示,然后设置代码导出你想导出的任何一个<table>中的内容
#3
我是分开两个表,可用上面的代码后它两个表的内容都显示出来了,我只想显示其中一个表的内容.
#4
<SCRIPT LANGUAGE="javascript">
function AutomateExcel()
{
var oXL = new ActiveXObject("Excel.Application");
var oWB = oXL.Workbooks.Add();
var oSheet = oWB.ActiveSheet;
var hang = bl.rows.length;
var lie = bl.rows(0).cells.length;
for (i=0;i<hang;i++)
{
for (j=0;j<lie;j++)
{
oSheet.Cells(i+1,j+1).value = bl.rows(i).cells(j).innerText;
}
}
oXL.Visible = true;
oXL.UserControl = true;
}
</SCRIPT>
<input type="button" name="out_excel" onClick="AutomateExcel();" value="导出到excel" class="notPrint" />
把<script>中的bl改为你要导出的表格,也就是<table>中的id
#5
我用的是以下代码:
------------------------
<%response.ContentType ="application/vnd.ms-excel"
Response.AddHeader "Content-Disposition", "attachment; filename="&"1.xls"
%>
<table width="300" border="1" cellpadding="0" cellspacing="0">
<tr>
<td align="center">表达1单元格内容</td>
</tr>
</table>[/color[color=#008080]]<table width="300" border="1" cellpadding="0" cellspacing="0">
<tr>
<td>表达2单元格内容1</td>
</tr>
<tr>
<td>表达2单元格内容2</td>
</tr>
</table>
------------------------
<%response.ContentType ="application/vnd.ms-excel"
Response.AddHeader "Content-Disposition", "attachment; filename="&"1.xls"
%>
<table width="300" border="1" cellpadding="0" cellspacing="0">
<tr>
<td align="center">表达1单元格内容</td>
</tr>
</table>[/color[color=#008080]]<table width="300" border="1" cellpadding="0" cellspacing="0">
<tr>
<td>表达2单元格内容1</td>
</tr>
<tr>
<td>表达2单元格内容2</td>
</tr>
</table>
#6
#4楼我试过是可以,不过我要的不是这种效果,因为我的数据量较大,导出数据到Excel表需要较长的时间,这样效率不高,我要的是直接保存数据为xls格式的文档.这样效率就会高很多.
#7
<%response.ContentType ="application/vnd.ms-excel"
Response.AddHeader "Content-Disposition", "attachment; filename="&"1.xls"
%>
你用的这个代码是把整个面页转变为xls文件的,它并不能实现只导出一个表格。
Response.AddHeader "Content-Disposition", "attachment; filename="&"1.xls"
%>
你用的这个代码是把整个面页转变为xls文件的,它并不能实现只导出一个表格。
#8
那能不能在同一个页面中如果有很多个表格,我只保存某个指定的表格数据,不是导出数据,而是点击链接或按钮后直接下载,下载的格式为xls,这样的代码不知要怎样写?
#9
真的没其它好方法了?
#10
真的没其它好方法了?
#11
可以的,你可以在链接的页面设置代码重新查询数据库里你要保存的数据,
当然还要在最前面加上
<%response.ContentType ="application/vnd.ms-excel"
Response.AddHeader "Content-Disposition", "attachment; filename="&"1.xls"
%>
这样当你点击连接的时候就会弹出下载对话框。
当然还要在最前面加上
<%response.ContentType ="application/vnd.ms-excel"
Response.AddHeader "Content-Disposition", "attachment; filename="&"1.xls"
%>
这样当你点击连接的时候就会弹出下载对话框。
#12
这样试试呢?
<input type=button id=b1 value='导出表格1' onclick="document.getElementById("表格2的id").style.display='none'">
<input type=button id=b1 value='导出表格2' onclick="document.getElementById("表格1的id").style.display='none'">
#13
谢了,可能只有这种方法较好了
#14
#11楼的方法说的有点道理,如果没有其它好方法,就用#11楼所说的做.
#15
如果是经过一番计算的结果
那不是又要重新计算一次?
#16
学习了。。。哈哈
#1
有没有好的方法?
#2
你可以把两个表的数据分别用两个<table>显示,然后设置代码导出你想导出的任何一个<table>中的内容
#3
我是分开两个表,可用上面的代码后它两个表的内容都显示出来了,我只想显示其中一个表的内容.
#4
<SCRIPT LANGUAGE="javascript">
function AutomateExcel()
{
var oXL = new ActiveXObject("Excel.Application");
var oWB = oXL.Workbooks.Add();
var oSheet = oWB.ActiveSheet;
var hang = bl.rows.length;
var lie = bl.rows(0).cells.length;
for (i=0;i<hang;i++)
{
for (j=0;j<lie;j++)
{
oSheet.Cells(i+1,j+1).value = bl.rows(i).cells(j).innerText;
}
}
oXL.Visible = true;
oXL.UserControl = true;
}
</SCRIPT>
<input type="button" name="out_excel" onClick="AutomateExcel();" value="导出到excel" class="notPrint" />
把<script>中的bl改为你要导出的表格,也就是<table>中的id
#5
我用的是以下代码:
------------------------
<%response.ContentType ="application/vnd.ms-excel"
Response.AddHeader "Content-Disposition", "attachment; filename="&"1.xls"
%>
<table width="300" border="1" cellpadding="0" cellspacing="0">
<tr>
<td align="center">表达1单元格内容</td>
</tr>
</table>[/color[color=#008080]]<table width="300" border="1" cellpadding="0" cellspacing="0">
<tr>
<td>表达2单元格内容1</td>
</tr>
<tr>
<td>表达2单元格内容2</td>
</tr>
</table>
------------------------
<%response.ContentType ="application/vnd.ms-excel"
Response.AddHeader "Content-Disposition", "attachment; filename="&"1.xls"
%>
<table width="300" border="1" cellpadding="0" cellspacing="0">
<tr>
<td align="center">表达1单元格内容</td>
</tr>
</table>[/color[color=#008080]]<table width="300" border="1" cellpadding="0" cellspacing="0">
<tr>
<td>表达2单元格内容1</td>
</tr>
<tr>
<td>表达2单元格内容2</td>
</tr>
</table>
#6
#4楼我试过是可以,不过我要的不是这种效果,因为我的数据量较大,导出数据到Excel表需要较长的时间,这样效率不高,我要的是直接保存数据为xls格式的文档.这样效率就会高很多.
#7
<%response.ContentType ="application/vnd.ms-excel"
Response.AddHeader "Content-Disposition", "attachment; filename="&"1.xls"
%>
你用的这个代码是把整个面页转变为xls文件的,它并不能实现只导出一个表格。
Response.AddHeader "Content-Disposition", "attachment; filename="&"1.xls"
%>
你用的这个代码是把整个面页转变为xls文件的,它并不能实现只导出一个表格。
#8
那能不能在同一个页面中如果有很多个表格,我只保存某个指定的表格数据,不是导出数据,而是点击链接或按钮后直接下载,下载的格式为xls,这样的代码不知要怎样写?
#9
真的没其它好方法了?
#10
真的没其它好方法了?
#11
可以的,你可以在链接的页面设置代码重新查询数据库里你要保存的数据,
当然还要在最前面加上
<%response.ContentType ="application/vnd.ms-excel"
Response.AddHeader "Content-Disposition", "attachment; filename="&"1.xls"
%>
这样当你点击连接的时候就会弹出下载对话框。
当然还要在最前面加上
<%response.ContentType ="application/vnd.ms-excel"
Response.AddHeader "Content-Disposition", "attachment; filename="&"1.xls"
%>
这样当你点击连接的时候就会弹出下载对话框。
#12
这样试试呢?
<input type=button id=b1 value='导出表格1' onclick="document.getElementById("表格2的id").style.display='none'">
<input type=button id=b1 value='导出表格2' onclick="document.getElementById("表格1的id").style.display='none'">
#13
谢了,可能只有这种方法较好了
#14
#11楼的方法说的有点道理,如果没有其它好方法,就用#11楼所说的做.
#15
如果是经过一番计算的结果
那不是又要重新计算一次?
#16
学习了。。。哈哈