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

news/2024/7/21 4:09:15 标签: javascript, excel, function, button, input, border
可以根据是否隐藏来实现导出功能,如果隐藏则不导出。
主要代码:
  [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 "   οnclick= "javascript:AllAreaWord(); "   value= "导出页面指定区域内容到Word ">
<input   type= "button "   οnclick= "javascript:AllAreaExcel(); "   value= "导出页面指定区域内容到Excel ">
<input   type= "button "   οnclick= "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]

http://www.niftyadmin.cn/n/1412682.html

相关文章

TortoiseSVN与VisualSVN Server搭建SVN版本控制系统

http://www.cnblogs.com/xing901022/p/4399382.html 背景知识 首先要了解SVN是一种集中式管理代码的版本控制系统&#xff0c;原理就是 把代码都保存到一个固定的位置&#xff0c;每次从这个位置拷贝更新代码&#xff0c;进行编辑&#xff1b;再把修改后的代码提交到该目录中。…

form表单的理解及用法

form 表格有什么作用呢&#xff1f; 主要用来收集用户的各种类型的数据&#xff0c;并且提交到服务器 form表格由什么组成呢&#xff1f; 表单元素、表单控件、功能性标签 1、表单元素 <form> 属性 1、action&#xff1a;主要用来规定表单提交的动作&#xff0c;提交到服…

ajax模仿Excel,实现双击GridView单元格保存编辑

原贴为英文:http://www.codeproject.com/KB/ajax/Inline_Edit_Controller.aspx 使用了webserivceDownload source code - 3.65 KB Download demo - 71.4 KB Light Speed Inline Editing Using ASP.NET AJAX and Web Services (Architecture and Customization) - Part II In…

lesson006 汇编 可执行代码

汇编汇编 约等于 机器码源代码 进化 到 机器码 引申出编译器什么是编译器&#xff1f;编译器也是一个软件&#xff0c;以后就不强调汇编和机器码的区别的&#xff0c;以后统一用汇编代替机器码编译器具有翻译的功能举例 printf(); 它要与显卡交互上节课我们有讲&#xff0c;操作…

暗物质 和 暗能量 是什么?

暗物质 和 暗能量 是什么&#xff1f; 这是一个 不容回避 的 问题 。 也许 我们 永远 不能和 暗物质 发生 引力 外的 关系&#xff0c; 但 需要 正视 暗物质 和 暗能量 。 转载于:https://www.cnblogs.com/KSongKing/p/11157735.html

Atitit.提升 升级类库框架后的api代码兼容性设计指南

Atitit.提升 升级类库框架后的api代码兼容性设计指南 1. 增加api直接增加&#xff0c;版本号在注释上面增加1 2. 废弃api&#xff0c;使用主见dep1 3. 修改api&#xff0c;1 4. 修改依赖import&#xff0c;雅瑶增加文件模式。保持兼容性。。1 5. 优先选择同一个文件内的修改&am…

DataList编辑、更新、取消、删除、分页

DataList编辑、更新、取消、删除、分页&#xff0c;分页用的是 AspNetPager.dll4.3控件&#xff0c;功能挺强大的&#xff0c;自己可以到网上下个1.aspx程序代码<% Page Language"C#" AutoEventWireup"true" CodeFile"DataList_DeleteUpdate1.aspx…

day55 IO模型(多路复用IO)

目录 IO模型网络IO经历的步骤和过程阻塞IO模型非阻塞IO模型报错的类型多路复用IO模型&#xff08;重要&#xff09;多路复用对比非阻塞异步IO模型信号驱动IO模型IO模型 I/O&#xff08;input/output&#xff09;&#xff1a;输入输出 IO所存在的问题&#xff1a;当我们要输入数…