jsp页面表格里的数据是从数据库中读取,想在客户端通过点击一个按钮实现弹出'另存为'的对话框来保存这个表格,默认是.xls格式的,最好可以设置默认文件名,大家帮忙

解决方案 »

  1.   

    跟你的要求不太一致,这段代码是点了按钮后直接打开EXCEL,将表格内容写进去,用户需要手动保存。<HTML>
    <HEAD>
    <TITLE>将页面中指定表格的数据导入到Excel中</TITLE>
    <SCRIPT LANGUAGE="javascript"> 
    <!-- 
    function AutomateExcel() 
    { var oXL = new ActiveXObject("Excel.Application"); //创建应该对象 
    var oWB = oXL.Workbooks.Add();//新建一个Excel工作簿
    var oSheet = oWB.ActiveSheet;//指定要写入内容的工作表为活动工作表
    var table = document.all.data;//指定要写入的数据源的id
    var hang = table.rows.length;//取数据源行数
    var lie = table.rows(0).cells.length;//取数据源列数// Add table headers going cell by cell. 
    for (i=0;i<hang;i++){//在Excel中写行
      for (j=0;j<lie;j++){//在Excel中写列
        //定义格式
        oSheet.Cells(i+1,j+1).Font.Bold = true;//加粗
        oSheet.Cells(i+1,j+1).Font.Size = 10;//字体大小
        oSheet.Cells(i+1,j+1).value = table.rows(i).cells(j).innerText;//向单元格写入值
      } 

    oXL.Visible = true; 
    oXL.UserControl = true; 

    //-->
    </SCRIPT>
    </HEAD><BODY>
    <table border="0" width="300" id="data" bgcolor="black" cellspacing="1">
     <tr bgcolor="white">
      <td>&nbsp;姓名</td>
      <td>年龄</td>
      <td>性别</td>
     </tr>
     <tr bgcolor="white">
      <td>张三</td>
      <td>22</td>
      <td>女</td>
     </tr>
     <tr bgcolor="white">
      <td>李四</td>
      <td>23</td>
      <td>男</td>
     </tr>
    </table>
    <input type="button" name="out_excel" onclick="AutomateExcel();" value="导出到excel">
    </BODY>
    </HTML>
      

  2.   

    谢谢 这种方式已经实现
    只是与用户要求有点出入 以下代码在office2003以下的版本中可以实现,能不能让它在office2003中也能运行?
    function exportExcel(obj)

     if (typeof(EXPORT_OBJECT)!="object")
      { 
       document.body.insertAdjacentHTML("afterBegin","<OBJECT style='display:none' classid=clsid:0002E510-0000-0000-C000-000000000046 id=EXPORT_OBJECT></Object>");
       //0002E510-0000-0000-C000-000000000046 
      } 
     with (EXPORT_OBJECT){ 
         DataType = "HTMLData"; 
       try{ 
          ActiveSheet.Export("C:\sortTEL.xls",0); 
     alert('导出EXCEL文档完毕'); 
         } 
     catch (e)
     { 
            alert('导出Excel表失败,请确定已安装Excel2000(或更高版本),并且没打开同名xls文件'); 
     } 
          } 
     } 
      

  3.   

    http://hi.baidu.com/peterdai/blog/item/e7723b7beba963f50bd187ef.htmlhttp://community.csdn.net/Expert/topic/5405/5405571.xml?temp=.807461