把网页表格保存为xls格式问题?

时间:2021-11-24 11:50:34
在同一个页面中有两个表格或多个表格,我只想对其中一个表格内容进行保存,而当我用下面的代码时保存的却是所有表格内容容,我用的保存网页表格的代码如下:
----------------------------------------------------------------
<%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>

#6


#4楼我试过是可以,不过我要的不是这种效果,因为我的数据量较大,导出数据到Excel表需要较长的时间,这样效率不高,我要的是直接保存数据为xls格式的文档.这样效率就会高很多.

#7


<%response.ContentType ="application/vnd.ms-excel" 
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"
%>

这样当你点击连接的时候就会弹出下载对话框。

#12


引用 3 楼 qlxng 的回复:
我是分开两个表,可用上面的代码后它两个表的内容都显示出来了,我只想显示其中一个表的内容.


这样试试呢?

<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


引用 11 楼 handy_wzh 的回复:
可以的,你可以在链接的页面设置代码重新查询数据库里你要保存的数据,

当然还要在最前面加上

<%response.ContentType ="application/vnd.ms-excel"  
Response.AddHeader "Content-Disposition", "attachment; filename="&amp;"1.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>

#6


#4楼我试过是可以,不过我要的不是这种效果,因为我的数据量较大,导出数据到Excel表需要较长的时间,这样效率不高,我要的是直接保存数据为xls格式的文档.这样效率就会高很多.

#7


<%response.ContentType ="application/vnd.ms-excel" 
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"
%>

这样当你点击连接的时候就会弹出下载对话框。

#12


引用 3 楼 qlxng 的回复:
我是分开两个表,可用上面的代码后它两个表的内容都显示出来了,我只想显示其中一个表的内容.


这样试试呢?

<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


引用 11 楼 handy_wzh 的回复:
可以的,你可以在链接的页面设置代码重新查询数据库里你要保存的数据,

当然还要在最前面加上

<%response.ContentType ="application/vnd.ms-excel"  
Response.AddHeader "Content-Disposition", "attachment; filename="&amp;"1.xls"
%>

这样当你点击连接的时……

如果是经过一番计算的结果
那不是又要重新计算一次?

#16


学习了。。。哈哈