js如何将2个表到导出的到同一个Excel

迪迦凹凸曼 2010-09-19 12:39:54
首先将一页面上的部分数据添加到将要导出的Excel中,


然后把同一个页面上的表 也添加到这个Excel中 (注意:这个页面上的表行列不是固定的)

一:需要向Excel添加的文本

对象编号: xxxxxxxx
对象名称 : xxxxxxxx
指标组编号 : xxxxxxxx
指标组名称 : xxxxxxxx
日志时间 :xxxxxxxx


二:右边是对应的表

表(行列不固定)
...全文
306 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
迪迦凹凸曼 2010-09-19
  • 打赏
  • 举报
回复
谢谢 已经解决!
hoojo 2010-09-19
  • 打赏
  • 举报
回复
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>导出excel</title>
<SCRIPT LANGUAGE="javascript">

var tempRow=0;
//var maxRows=0;
function insertRows(){
tempRow=table1.rows.length-1;
//maxRows=tempRow+1;
tempRow=tempRow+1;
var Rows=table1.rows;//类似数组的Rows
var newRow=table1.insertRow(table1.rows.length);//插入新的一行
var Cells=newRow.cells;//类似数组的Cells
for (i=0;i<3;i++)//每行的3列数据,循环插入
{
var newCell=Rows(newRow.rowIndex).insertCell(Cells.length);
newCell.align="center";
switch (i)
{
case 0 : newCell.innerHTML="<td valign='top'><input name='aaa' id='_Seq' type='text' size='2' value='"+tempRow+"'></td>";break;
case 1 : newCell.innerHTML="<td valign='top'><select name='detailObject.xmxh' id='_Xmxh'><option value='' selected='selected'></option><option value='XMXH20060713150418343'>测试项目1</option><option value='XMXH20060725140312843'>能源部测试项目</option><option value='XMXH20060801143744796'>第三个选项</option></select></TD>"; break;
case 2 : newCell.innerHTML="<td valign='top'><a href='javascript:delTableRow(\""+tempRow+"\")'>删除</a></TD>"; break;
}
}
//maxRows+=1;
}

function methodadd(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;
//oSheet.Cells(i + 1, j + 1).value = curTbl.rows(i).cells(j).getElementsByTagName('text').value;
//赋值
}
}
oXL.Visible = true;
//设置excel可见属性
}

function delTableRow(rowNum){
if (table1.rows.length >rowNum){
table1.deleteRow(rowNum); //系统方法
}
}

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>
时的法国
<form action="">
<table border="1" width="98%" align="center" id="table1">
<tr>
<th >顺序号</th>
<th >项目序号</th>
<th>删除
<th>
</tr>
</table>
<br />
<table border="0" cellspacing="0" cellpadding="0" width="98%" align="center">
<tr valign="top">
<th> <input value="添加一行" type="button" onClick="insertRows()">
</th>
</tr>
</table>
</form>

<table id="tableExcel" width="100%" border="1" cellspacing="0" cellpadding="0">
<tr>
<td colspan="5" align="center">WEB页面导出为EXCEL文档的方法

</td>
</tr>
<tr>
<td>列标题1</td>
<td>列标题2</td>
<td>列标题3</td>
<td>列标题4</td>
<td>列标题5</td>
</tr>
<tr>
<td>aaa</td>
<td>bbb</td>
<td>ccc</td>
<td>ddd</td>
<td>eee</td>
</tr>
<tr>
<td>AAA</td>
<td>BBB</td>
<td>CCC</td>
<td>DDD</td>
<td>EEE</td>
</tr>
<tr>
<td>FFF</td>
<td>GGG</td>
<td>HHH</td>
<td>III</td>
<td>JJJ</td>
</tr>
</table>
<input type="button" onclick="javascript:methodadd('table1');"value="第二种方法导入增加的表格到EXCEL">
<input type="button" onclick="javascript:method2('tableExcel');"value="第二种方法导入到EXCEL">

</body>
</html>
hoojo 2010-09-19
  • 打赏
  • 举报
回复
那就这个涉及到读和写

读:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
<script>
function readExcel()
{
var oXL = new ActiveXObject("Excel.Application");
try{
var path = document.getElementById("filePath");

var oWB = oXL.Workbooks.open(path.value);
}catch(e){
alert('打开文件失败!');
}
var oSheet = oWB.ActiveSheet;
var nRows=oSheet.usedrange.rows.count;
var nColumns =oSheet.usedrange.columns.count;
for(var i=0;i<nRows;i++)
{
for(var j=0;j<nColumns;j++)
{
alert(oSheet.Cells(i+1,j+1).value);
}
}
oSheet=null;
oWB.close();
oXL=null;
}
</script>
</HEAD>

<BODY>
<input type="file" id="filePath">
<input type="button" value="读取Excel" onclick="readExcel();">
</BODY>
</HTML>

87,910

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧