`
codsoul
  • 浏览: 212533 次
  • 性别: Icon_minigender_1
  • 来自: 珠海
社区版块
存档分类
最新评论

js导出Excel

    博客分类:
  • JS
阅读更多

js导出Excel  

1.原来直接可以使用js来导出Excel,这个世界简直太奇妙了!
把网页中的一个表格(含表格中的内容)复制到Excel的一个Sheet中,具体步骤如下
一、        创建一个含有表格的网页
1、网页代码如下
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>利用Jscrīpt复制网页中的表格到Excel中</title>
<scrīpt language="javascrīpt" src="dataToExcel.js">
</scrīpt>
<style type="text/css">
<!--
.STYLE2 {color: #000000}
-->
</style>
</head>
<body>
<table width="307" border="1" cellspacing="0" cellpadding="0" id="tableToExcel" name="tableName">
<tr bgcolor="#99CCCC">
    <td width="66" rowspan="4" bgcolor="#33FF99">吉林的长春</td>
    <td width="67" rowspan="4" bgcolor="#33FF99">辽宁的沈阳</td>
    <td width="94" rowspan="4" bgcolor="#33FF99">黑龙江的哈尔滨</td>
    <td width="30" rowspan="4" bgcolor="#33FF99">北京</td>
    <td width="38" bgcolor="#66CC99">海淀</td>
</tr>
<tr bgcolor="#99CCCC">
    <td bgcolor="#66CC99">吉林-长春</td>
</tr>
<tr bgcolor="#99CCCC">
    <td bgcolor="#66CC99">辽宁-沈阳</td>
</tr>
<tr bgcolor="#99CCCC">
    <td bgcolor="#66CC99">黑龙江-哈尔滨</td>
</tr>
<tr bgcolor="#99CCCC">
    <td colspan="5">演示javascrīpt对表格copy的处理过程(推荐) </td>
</tr>
<tr bgcolor="#99CCCC">
    <td colspan="5"><label>
      <div align="center">
        <input name="textfield" type="text" value="单行文本框控件" size="30"/>
        </div>
    </label></td>
</tr>
</table>
<br>               
   <input type="submit" name="Submit3" value="点击复制表格到Excel中" ōnclick="CellToExcel(cellToExcel)" />
</body>
</html>
2、代码说明
CellToExcel()为JS文件中定义的函数(关于JS文件稍后加以说明),tableToExcel为表格的id。
二、含有复制功能的JS文件的创建
1、dataToExcel.js文件代码如下
// Javascrīpt Document
// 杀Excel进程使用此变量
var idTmr = "";
// 函数功能:复制表格到Excel中
// 参    数:tableID 表的id
function CellToTable(tableID)
{
        try
        {
                  // 加载ActiveX控件,获取Excel句柄
                  var exApp = new ActiveXObject("Excel.Application");
                // 创建一个Excel文件
                var ōWB = exApp.WorkBooks.add();
                // 获取sheet1句柄CA
                var exSheet = exApp.ActiveWorkBook.WorkSheets(1);
              // 设置sheet1的名称
               exSheet.name="演示复制表格到Excel中";
                // copy指定的表格
                var sel=document.body.createTextRange();
            sel.moveToElementText(tableID);
            sel.select();
            sel.execCommand("Copy");
                // 粘贴到sheet中
                exSheet.Paste();
                // 弹出保存对话框,保存Excel文件 
                exApp.Save();
                // 退出Excel实例
                exApp.Quit();
                exApp = null;
                // 调用Cleanup()进行垃圾回收
                idTmr = window.setInterval("Cleanup();",10);
        }catch(Exception)
        {
                //用户点击保存对话框中的取消按钮时会发生异常
        }
}
// 函数功能:杀掉Excel进程
function Cleanup() {
          window.clearInterval(idTmr);
          CollectGarbage();
}
2、代码说明
        以上的代码每行都有注释,不再一一加以说明,其中Cleanup()中调用的CollectGarbage();是JS提供的垃圾回收函数。
三、        多个表格复制到Excel中同一个sheet中
1、        应注意的问题
设置当前sheet中的焦点,以避免多次粘贴出现覆盖现象
2、代码
exSheet.Cells(行,列).Select();
复制第二张表时,要确定焦点所在的行,通过
var table = document.all. cellToExcel; //表格的ID
var row= table.rows.length;//表格的行
var col = table.rows(0).cells.length;//表格的列
获取表格的行列,然后调用exSheet.Cells(row,1).Select();使焦点定位到表格第row行,第1列,然后执行粘贴功能的代码exSheet.Paste();,完成粘贴功能,三个以上的表格的复制,依次类推。
四、关于sheet的说明
代码中var ōWB = exApp.WorkBooks.add();这句话执行完后,Excel中默认会有三个sheet,当用户如果需要更多的sheet,要做如下的处理oWB .Sheets.Add();添加sheet,此代码每执行一次,添加一个sheet,用户可更具需要来添加sheet的数量。
分享到:
评论
4 楼 zenmshuo 2016-09-13  
这个只适用demo的文件吧?具有通用性吗?之前都是借助SpreadJS实现的
3 楼 missYu 2013-09-06  
我试也没有效果  求指导
2 楼 codsoul 2013-08-08  
会弹出excel
1 楼 qiufengxlj 2013-07-30  
我试了下,为什么没效果啊,生成的excel文档在哪个目录下啊,求指导  

相关推荐

    js导出excel插件

    总结,使用JavaScript导出Excel插件,你需要选择合适的库,配置到你的项目中,根据业务需求编写导出逻辑,处理好兼容性和性能问题。在实现过程中,务必注意代码的可维护性和用户友好性,确保导出功能的稳定性和高效...

    js导出Excel和Word,不支持ie

    - 使用JavaScript导出Excel通常依赖于一些库,如` SheetJS`(XLSX.js)或`js-xlsx`。这些库可以解析和生成逗号分隔值(CSV)或二进制格式的Excel文件(XLSX)。在`exportexcel.html`文件中,可能包含了使用这类库...

    js导出excel,可设置excel属性

    js导出excel,可设置excel属性

    Javascript导出Excel,自动合并单元格、自动列宽、有进度条

    js导出execl,自动合并单元格,自动增行,增列

    HTML用JS导出Excel的五种方法.javascript导出excel的5种方法

    导出Excel文件时,需要创建一个工作表对象,然后加入到工作簿中,最后将其转换为二进制数据并下载。 ```javascript // 安装js-xlsx npm install xlsx import * as XLSX from 'xlsx'; function exportToExcel(data...

    js导出excel.zip

    在JavaScript编程领域,导出Excel是一项常见的需求,特别是在Web应用中,用户可能需要将数据显示在Excel表格中以便进一步处理或存储。"js导出excel.zip"这个压缩包提供了一个解决方案,它结合了EasyUI和DataGrid组件...

    js导出excel(xlsx格式)、CVS、PDF、打印

    Javascript导出excel为xlsx格式,兼容IE6+和主流浏览器,下载下来直接可以使用。 其他javascript导出excel插件可看作者文章:https://blog.csdn.net/qq_21693027/article/details/80459677

    elementuiplus+vue3+sheetjs导出excel不需要filesave依赖

    elementui+vue3+sheetjs导出excel不需要filesave依赖 安装依赖 pnm install xlsx

    js导出Excel 、Word [超实用][自动保存样式]

    总结一下,JavaScript导出Excel和Word的关键步骤包括: 1. 获取Table数据和样式信息。 2. 将数据转化为适合Excel或Word的格式。 3. 使用库(如SheetJS、docx)生成相应格式的文件。 4. 创建下载链接或通过服务器完成...

    Export2Excel.js导出excel

    "Export2Excel.js导出excel"是一个针对这种情况的解决方案,它允许在Vue项目中实现前端直接导出Excel文件。下面将详细阐述这个功能的实现原理和涉及的技术。 首先,"Blob.js"是用于处理浏览器中的Blob对象的...

    js导出excel 支持各主流浏览器

    js导出excel 支持各主流浏览器,支持指定文件名

    纯JavaScript导出Excel

    "纯JavaScript导出Excel"的功能正是解决这个问题的一种方法,它允许开发者在不依赖任何后端服务或第三方库的情况下,直接在浏览器端将JSON格式的数据转换为可下载的Excel文件。这种技术对于那些对服务器交互有限制...

    js导出excel 示例

    js导出excel 的例子, 可以把网页的表格直接导出成excel

    js导出excel的例子

    总结来说,JavaScript导出Excel的核心在于将HTML表格数据转换为CSV格式,并利用浏览器的下载功能生成文件。对于更复杂的需求,可以考虑使用专门的JavaScript库来增强功能。在实际应用中,应根据项目需求选择最合适的...

    js导出excel支持各种浏览器

    js导出excel支持各种浏览器,本人亲测,支持IE 火狐 chrome 360 等多种常用浏览器

    js导出Excel三种方法

    js导出Excel三种方法 //整个表格拷贝到EXCEL中 //读取表格中每个单元到EXCEL中

    vue.js导出Excel所需要的JS文件

    "vue.js导出Excel所需要的JS文件"这个主题就涉及到了两个关键文件:Blob.js和Export2Excel.js。下面我们将详细探讨这两个文件以及它们在Vue.js中实现Excel导出的过程。 首先,Blob.js是用于处理二进制大型对象...

    js导出excel.rar

    总结来说,"js导出excel.rar"提供了一个纯JavaScript实现的Excel导出方案,利用`SheetJS`这样的库,可以在前端直接将数据转换为Excel格式供用户下载,无需服务器参与。对于那些需要在网页上处理数据并导出到Excel的...

    JS导出Excel

    在JavaScript中,导出Excel是一项...以上就是关于使用JavaScript导出Excel,包括自动合并单元格、自动调整列宽以及从HTML表格获取数据的一些关键技术点。实际开发中,还需要结合项目需求和具体库的文档进行细致的实现。

Global site tag (gtag.js) - Google Analytics