导出页面指定区域内容到Word/Excel

可以根据是否隐藏来实现导出功能,如果隐藏则不导出。
主要代码:
[code=JScript]//指定页面区域“单元格”内容导入Excel
function CellAreaExcel()
{
var oXL = new ActiveXObject( "Excel.Application ");
var oWB = oXL.Workbooks.Add();
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++)
{
//在这判断,你的程序运行之后,可以查看源文件看是不是通过隐藏实现的,根据实际情况。
if (PrintA.rows(i).cells(j).style.display== ' ')
{
oSheet.Cells(i+1,j+1).value = PrintA.rows(i).cells(j).innerText;
}
}
}
oXL.Visible = true;
}[/code]
测试用例(COPY之后保存为html文件即可运行):
[code=JScript]
<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 style= "display:none "> 单元格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()
{
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()
{
var oXL = new ActiveXObject( "Excel.Application ");
var oWB = oXL.Workbooks.Add();
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++)
{
if (PrintA.rows(i).cells(j).style.display== ' ')
{
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();
sel.moveToElementText(PrintA);
sel.select();
sel.execCommand( "Copy ");
oRange.Paste();
oWD.Application.Visible = true;
//window.close();
}
</SCRIPT>
</body>
</HTML>

[/code]

你可能感兴趣的:(Excel)