用JavaScript导出Excel和Word

前段时间练习用Jxl导出Excel ,今天试着用JavaScript导Excel.在网上找了一些资料,练了练,查到了有两种方法.第一种方法简单,也没遇到什么问题,第二种方法自己敲来敲去,老是成功不了,郁闷死了.没办法把网上的代码一粘,居然一粘就中.唉,JavaScipt真垃圾,功能好,但就是不好用!下面是找的一点资料,大家共享一下!

<HTML>
  <HEAD>
    <title>WEB页面导出为EXCEL文档的方法
    </title>
  </HEAD>
<body>
<BR>
<table id = "PrintA" width="100%" border="1" cellspacing="0" cellpadding="0" bgcolor = "#61FF13">
<TR style="text-align : center;">
<TD>单元格A</TD>
<TD>单元格A</TD>
<TD>单元格A</TD>
<TD>单元格A</TD>
</TR>
<TR>
<TD colSpan=4 style="text-align : center;"><font color="BLUE" face="Verdana">单元格合并行A</FONT></TD>
</TR>
</TABLE>
<BR>
<table id = "PrintB" width="100%" border="1" cellspacing="0" cellpadding="0">
<TR style="text-align : center;">
<TD>单元格B</TD>
<TD>单元格B</TD>
<TD>单元格B</TD>
<TD>单元格B</TD>
</TR>
<TR>
<TD colSpan=4 style="text-align : center;">单元格合并行B</TD>
</TR>
</TABLE>
<br><br><br>
<input type="button" onclick="javascript:AllAreaWord();" value="导出页面指定区域内容到Word">
<input type="button" onclick="javascript:AllAreaExcel();" value="导出页面指定区域内容到Excel">
<input type="button" onclick="javascript:CellAreaExcel();" value="导出表单单元格内容到Excel">
<SCRIPT LANGUAGE="javascript">
//指定页面区域内容导入Excel
function AllAreaExcel()
{
  alert('这是所有');
  var oXL = new ActiveXObject("Excel.Application");
  var oWB = oXL.Workbooks.Add();
  var oSheet = oWB.ActiveSheet; 
  var sel=document.body.createTextRange();
  sel.moveToElementText(PrintA);
  sel.select();
  sel.execCommand("Copy");
  oSheet.Paste();
  oXL.Visible = true;
}
//指定页面区域“单元格”内容导入Excel
function CellAreaExcel()
{
  //创建AX对象excel
  var oXL = new ActiveXObject("Excel.Application");
  //获取workbook对象/创建AX对象excel
  var oWB = oXL.Workbooks.Add();
  //激活当前sheet
  var oSheet = oWB.ActiveSheet;
  var Lenr = PrintA.rows.length;
  for (i=0;i<Lenr;i++)
  {
   var Lenc = PrintA.rows(i).cells.length;
   for (j=0;j<Lenc;j++)
   {
    oSheet.Cells(i+1,j+1).value = PrintA.rows(i).cells(j).innerText;
   }
  }
  oXL.Visible = true;
}

//指定页面区域内容导入Word
function AllAreaWord()
{
  var oWD = new ActiveXObject("Word.Application");
  var oDC = oWD.Documents.Add("",0,1);
  var oRange =oDC.Range(0,1);
  var sel = document.body.createTextRange();
  //把表格中的内容移到TextRange中
  sel.moveToElementText(PrintA);
  //全选TextRange中内容
  sel.select();
  //复制TextRange中内容
  sel.execCommand("Copy");
  //粘贴到活动的word中
  oRange.Paste();
  //设置word可见属性
  oWD.Application.Visible = true;
  //window.close();
}
</SCRIPT>
</body></html>

你可能感兴趣的:(用JavaScript导出Excel和Word)