javaScript读取页面表格中每个单元到EXCEL中

来源:互联网 发布:淘宝点火炬微信群 编辑:程序博客网 时间:2024/04/30 01:39
function method2(tableid) //读取表格中每个单元到EXCEL中 {     var curTbl = document.getElementById(tableid);      var oXL = new ActiveXObject("Excel.Application");      //创建AX对象excel      var oWB = oXL.Workbooks.Add();      //获取workbook对象     var oSheet = oWB.ActiveSheet;     //激活当前sheet      var Lenr = curTbl.rows.length;      //取得表格行数      for (i = 0; i < Lenr; i++)      {          var Lenc = curTbl.rows(i).cells.length;          //取得每行的列数          for (j = 0; j < Lenc; j++)          {              oSheet.Cells(i + 1, j + 1).value = curTbl.rows(i).cells(j).innerText;              //赋值          }      }      oXL.Visible = true;      //设置excel可见属性 }


2.例子

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML> <HEAD> <TITLE>导出Excel</TITLE> <script type="text/javascript"> var idTmr = ""; function killExcelProcess(appExcel_){ appExcel_.Quit(); appExcel_ = null; idTmr = window.setInterval("Cleanup();",1); } //导出到excel,参数tableid为JSP页面需要导出的table的id,需要更改IE的安全设置,ActiveX都打开,如果还是不能使用,再服务端运行“regsvr32 scrrun.dll” function exportToExcel(tableid,notitleandsearch){ try { clipboardData.setData('Text',''); var appExcel = new ActiveXObject("Excel.Application"); killExcelProcess(appExcel); appExcel.workbooks.add; //标题 if (notitleandsearch==null||notitleandsearch==false){ var elTable = document.getElementById('div_title'); var oRangeRef = document.body.createTextRange(); oRangeRef.moveToElementText(elTable); oRangeRef.execCommand( "Copy" ); appExcel.ActiveSheet.Cells(1,3).select(); appExcel.ActiveSheet.Paste(); clipboardData.setData('Text',''); appExcel.ActiveSheet.Cells(2,1).select(); appExcel.ActiveSheet.Paste(); } var elTable1 = document.getElementById(tableid); var oRangeRef1 = document.body.createTextRange(); oRangeRef1.moveToElementText(elTable1); oRangeRef1.execCommand( "Copy" ); appExcel.WorkSheets(1).Activate; if (notitleandsearch==null||notitleandsearch==false){ appExcel.ActiveSheet.Cells(3,1).select(); }else{ appExcel.ActiveSheet.Cells(1,1).select(); } appExcel.WorkSheets(1).Activate; appExcel.ActiveSheet.Paste(); appExcel.Visible = true; } catch(e) { alert("请确认IE安全设置,ActiveX都启用!"); return false; } clipboardData.setData('text',''); } function method2(tableid) //读取表格中每个单元到EXCEL中?{var curTbl = document.getElementById(tableid);var oXL = new ActiveXObject("Excel.Application");//创建AX对象excel?var oWB = oXL.Workbooks.Add();//获取workbook对象?var oSheet = oWB.ActiveSheet;//激活当前sheet?var Lenr = curTbl.rows.length;//取得表格行数?for (i = 0; i < Lenr; i++){ var Lenc = curTbl.rows(i).cells.length;//取得每行的列数for (j = 0; j < Lenc; j++){ oSheet.Cells(i + 1, j + 1).value = curTbl.rows(i).cells(j).innerText; //赋值}} oXL.Visible = true;? //设置excel可见属性?}</script> </HEAD> <BODY> <button onclick="javascript:exportToExcel('testList','');">导出</button><br> <button onclick="javascript:method2('testList','');">导出2</button><br> <div id='div_title' > <font color='black' size='4'><strong>导出报表</strong></font> </div> <table id = "testList" bordercolor="#000000" border = "1"> <tr> <td>序列</td> <td>姓名</td> <td>数量</td> </tr> <tr> <td>1</td> <td>张三1</td> <td>2</td> </tr> <tr> <td>2</td> <td>张三2</td> <td>2</td> </tr> <tr> <td>3</td> <td>张三3</td> <td>2</td> </tr> <tr> <td>4</td> <td>张三4</td> <td>2</td> </tr> <tr> <td>5</td> <td>张三5</td> <td>2</td> </tr> <tr> <td colspan="2">总计:</td> <td>10</td> </tr> </table> </BODY> </HTML> 


0 0
原创粉丝点击