在jsp页面中按普通的方式生成web表格,并在前面填入
<%response.setContentType("application/vnd.ms-excel");%>
这句
调用页面的时候,如果客户端安装了excel,ie就会启动excel并自动把web表格转换成excel形式.

解决方案 »

  1.   

    function exportToExcel(TableId) {
            //window.status="&Otilde;&yacute;&Ocirc;&Uacute;&Eacute;ú&sup3;&Eacute;EXCEL&Icirc;&Auml;&frac14;&thorn;.....,&Ccedil;&euml;&Eacute;&Ocirc;&ordm;ó&pound;&iexcl;";
            var oExcel = new ActiveXObject("Excel.Application");
            var oBook = oExcel.Workbooks.Add;
            var oSheet = oBook.Worksheets(1);
            var rows = 1, cols = 1;
            var i = 0, j = 0, k = 0, m = 0;
            var rowspans = new Array(100);
            var rowitems = new Array(100);
            var colspans = new Array(100);
            var colitems = new Array(100);
            for (var y = 0; y < TableId.rows.length; y++) {
          for (var x = 0; x < TableId.rows(y).cells.length; x++)
          {
            for (ii = 0; ii < m; ii++) {
              if (x == rowspans[ii]) {
                oSheet.Cells(j + 1, i + 1) = '';
                rowitems[ii] = rowitems[ii] - 1;
                var sm1 = oSheet.Cells(j, i + 1);
                var sm2 = oSheet.Cells(j + 1, i + 1);
                oSheet.Range(sm1, sm2).Select
                    oExcel.Selection.VerticalAlignment = 1;
                oExcel.Selection.MergeCells = true;
               i++;
              }
            }
            for (ii = 0; ii < k; ii++) {
              if (y == colspans[ii]) {
                var sm1 = oSheet.Cells(j + 1, i);
                while (colitems[ii] > 1) {
                  oSheet.Cells(j + 1, i + 1) = '';
                  i++;
                  colitems[ii] = colitems[ii] - 1;
                }
                var sm2 = oSheet.Cells(j + 1, i);
                oSheet.Range(sm1, sm2).Select
                oExcel.Selection.MergeCells = true;
              }
            }
            cols = TableId.rows(y).cells(x).colSpan;
            rows = TableId.rows(y).cells(x).rowSpan;
            if (cols > 1) {
              colspans[k] = y;
              colitems[k] = cols;
              k++;
            }
            if (rows > 1) {
              rowspans[m] = x;
              rowitems[m] = rows;
              m++;
            }
            oSheet.Cells(j + 1, i + 1) = TableId.rows(y).cells(x).innerText;
            i++;
          }
          i = 0;
          j++;
        }
        oExcel.Visible = true;
        oExcel.UserControl = true;
       }调用方法:在表格定义时定义id,然后加一个按钮在按钮的单击事件调用该函数,参数为表格的id号.
      

  2.   

    在tomcat服务器中,有些操作xls或者注册表的脚本都无法正常使用