`
muRain
  • 浏览: 40205 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

js操作html生成excel

    博客分类:
  • web
阅读更多
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GBK">
<meta http-equiv="pragma" content="no-cache">
<script language="jscript">
function replaceHtml(replacedStr,repStr,endStr){
	var replacedStrF = "";
	var replacedStrB = "";
	var repStrIndex = replacedStr.indexOf(repStr);
	while(repStrIndex != -1){
	    replacedStrF = replacedStr.substring(0,repStrIndex);
		replacedStrB = replacedStr.substring(repStrIndex,replacedStr.length);
		replacedStrB = replacedStrB.substring(replacedStrB.indexOf(endStr)+1,replacedStrB.length);
		replacedStr = replacedStrF + replacedStrB;
		repStrIndex = replacedStr.indexOf(repStr);
	}
	return replacedStr;
}
//elTalbeOut 这个为导出内容的外层表格,主要是设置border之类的样式,elDiv则是整个导出的html部分
function htmlToExcel(elTableOut,elDiv){
	try{
	    //设置导出前的数据,为导出后返回格式而设置
		var elDivStrBak = elDiv.innerHTML;
		//设置table的border=1,这样到excel中就有表格线 ps:感谢双面提醒
		elTableOut.border=1;
		//过滤elDiv内容
		var elDivStr = elDiv.innerHTML;
		elDivStr = replaceHtml(elDivStr,"<A",">");
		elDivStr = replaceHtml(elDivStr,"</A",">");
		elDiv.innerHTML=elDivStr;	
		
		var oRangeRef = document.body.createTextRange();
		oRangeRef.moveToElementText( elDiv );
		oRangeRef.execCommand("Copy");
		
		//返回格式变换以前的内容
		elDiv.innerHTML = elDivStrBak;
		//内容数据可能很大,所以赋空
		elDivStrBak = "";
		elDivStr = "";
		
		var oXL = new ActiveXObject("Excel.Application")
		var oWB = oXL.Workbooks.Add ;
		var oSheet = oWB.ActiveSheet ;
		oSheet.Paste();
		oSheet.Cells.NumberFormatLocal = "@";
		oSheet.Columns("D:D").Select
		oXL.Selection.ColumnWidth = 20
		oXL.Visible = true;		
		oSheet = null;
		oWB = null;
		appExcel = null;
	}catch(e){
		alert(e.description)
	}
}
</script>
<title></title></head>

<body leftmargin="0" topmargin="0">
<table width="90%" border="0" cellspacing="0" cellpadding="0" align="center">
<tr>
<td height="40" align="center" valign="middle"><INPUT type="button" value="导出" id="dcExcel" onClick="htmlToExcel(document.getElementById('elTableOut'),document.getElementById('elDiv'));"></td>
  </tr>

</table>

<div id="elDiv">
<table width="90%" border="0" align="center" cellpadding="0" cellspacing="1" bordercolor="#000000" bgcolor="#000000" id="elTableOut">
  <tr>
    <td height="40" align="center" valign="middle" colspan="12" bgcolor="#FFFFFF"><strong>状况汇总表</strong></td>
  </tr>
  <tr>
    <td width="6%" rowspan="2" align="center" bgcolor="#FFFFFF">序号</td>
    <td width="20%" rowspan="2" align="center" bgcolor="#FFFFFF">a</td>
    <td width="7%" rowspan="2" align="center" bgcolor="#FFFFFF">b</td>
    <td width="7%" rowspan="2" align="center" bgcolor="#FFFFFF">c</td>
    <td width="7%" rowspan="2" align="center" bgcolor="#FFFFFF">d</td>
    <td width="7%" rowspan="2" align="center" bgcolor="#FFFFFF">e</td>
    <td width="7%" rowspan="2" align="center" bgcolor="#FFFFFF">f</td>
    <td width="7%" rowspan="2" align="center" bgcolor="#FFFFFF">g</td>
    <td height="25" colspan="4" align="center" bgcolor="#FFFFFF">h</td>
  </tr>
  <tr>
    <td width="7%" height="25" align="center" bgcolor="#FFFFFF">i</td>
    <td width="7%" align="center" bgcolor="#FFFFFF">j</td>
    <td width="7%" align="center" bgcolor="#FFFFFF">k</td>
    <td width="7%" align="center" bgcolor="#FFFFFF">l</td>
  </tr> 
</table>
</div>

</body>
</html> 
分享到:
评论
2 楼 爱老虎哟 2010-05-22  
这个Firefox不支持啊
1 楼 streamfly 2007-07-23  
var elDivelDivStrBak = elDiv.innerHTML;
var elDivelDivStr = elDiv.innerHTML;

前面的两个名称应该是elDivStrBak,elDivStr.不过谢谢LZ,正在找这方面的东西呢.

相关推荐

    jquery.table2excel.js 一键生成Excel表格

    jquery.table2excel.js 可一键生成Excel表格,需要jQuery.js支持 详细使用方法可见我的博客 https://blog.csdn.net/weixin_42571089/article/details/108799543

    HTML表格生成Excel文件代码(纯前端)

    总结起来,纯前端生成HTML表格到Excel文件主要涉及以下步骤: 1. 获取HTML表格数据。 2. 将数据转换为CSV格式。 3. 创建并触发模拟的文件下载链接。 虽然这个方法简单易用,但并不适用于所有场景。在处理大量数据或...

    HTML表格生成Excel文件代码.zip

    9. **其他替代方案**:除了使用jQuery插件,还可以使用其他技术,如JavaScript的FileSaver.js库配合Blob对象,或者使用后端语言如PHP、Node.js来生成Excel文件,再发送给前端下载。 10. **安全性与隐私**:由于导出...

    js操作table导出excel

    本文将深入探讨如何使用JavaScript、jQuery和HTML来实现这一功能,特别是通过JavaScript操作HTML表格来生成Excel文件。 首先,让我们理解基本概念。JavaScript是一种运行在客户端的脚本语言,它可以直接在用户的...

    纯js+html实现羽毛球比赛抽签功能,生成对阵图,并导出PDF和Excel文件

    1.纯js+html实现抽签功能,导入excel文件,得到抽签结果,将抽签table导出为PDF(html2canvas+jsPdf)、Excel文件(js-xlsx,实现合并单元格,并设置单元格样式 字体、宽度、居中显示) 2.导入excel文件,生成小组赛...

    纯前端html+js实现的excel转json格式

    标题 "纯前端html+js实现的excel转json格式" 描述了一个完全在浏览器环境中完成的Excel到JSON转换功能。这个技术方案特别适用于那些不需要服务器端处理的场景,比如小型项目或者临时的数据导入需求。它允许用户上传...

    纯js-json导出excel

    它可能包含了将JSON对象结构化为Excel表格所需的逻辑,包括列名的映射、数据类型的转换以及生成Excel文件的XML格式内容。 "jquery.min.js"是著名的jQuery库的压缩版本,一个轻量级、高性能的JavaScript库,简化了...

    JavaScript操作Excel_Demo.zip

    在这个“JavaScript操作Excel_Demo.zip”压缩包中,包含了一个名为“xlsx.full.min.js”的插件,它是XLSX库的一个版本,用于读取和写入CSV、XLS、XLSX等多种格式的电子表格文件。这个库基于JSON,使得在JavaScript...

    HTML读取Excel表内容的js插件

    `js-xlsx`是由SheetJS团队开发的,它提供了一套完整的API来解析、操作和生成Excel文件。这个库支持读取二进制文件(如Blob或ArrayBuffer),以及CSV和JSON格式的数据。以下是你需要了解的关键知识点: 1. **解析...

    JavaScript 实现 Excel数据导出 支持多个Sheet页导出

    一个常见的方法是使用HTML5的Blob对象和FileSaver.js库来生成和保存文件。Blob对象可以用来存储二进制大对象,FileSaver.js则提供了在浏览器中保存文件的API。 以下是实现这个功能的主要步骤: 1. **数据转换**:...

    js-生成Eccel文件.html

    js生成Excel文件,方法和方法已加注释,原理也很简单,上手可用。 js生成Excel文件,方法和方法已加注释,原理也很简单,上手可用。 js生成Excel文件,方法和方法已加注释,原理也很简单,上手可用。 js生成Excel...

    Blob.js&Export2Excel;.js

    接着,Export2Excel.js是另一个JavaScript库,专门用于将HTML表格数据导出为Excel文件。它利用了Blob.js的功能,将HTML表格的内容转化为Excel文件格式,并提供了一个方便的API供开发者调用。通常,Export2Excel.js会...

    javascript操作excel生成报表示例_.docx

    总的来说,这个示例提供了一种使用JavaScript直接在客户端生成Excel报表的方法,这在某些场景下可以提高用户体验,但同时也需要注意其兼容性和安全性问题。在实际开发中,考虑到跨平台和安全性的需求,通常会采用...

    html-export-Excel.rar_EXCEL导出_excel_export-excel.js_html excel_j

    4. **生成Excel文件**:使用上述信息,库会生成一个二进制的`.xls`或`.xlsx`文件,这是Excel的标准文件格式。这通常通过创建一个Blob对象并触发浏览器的下载功能来实现。 在`页面数据导出到Excel文件.html`中,你...

    js操作word、excel.pdf

    在JavaScript中操作Word和Excel可能涉及到的技术主要包括ActiveX对象、数据导出以及对象模型的使用。以下是对这些知识点的详细解释: 1. **ActiveX对象**:在上述代码中,`ActiveXObject` 是一个用于在Internet ...

    Export2Excel.js导出excel

    "Export2Excel.js"是核心的导出工具,它封装了生成Excel文件的过程。这个库通常会利用HTML表格来模拟Excel的工作表,并通过转换成Blob对象,再借助URL.createObjectURL方法生成一个临时的下载链接,用户点击后即可...

    js转换图片到Excel 里面

    总的来说,将图片写入Excel文件涉及到JavaScript的文件读取、Base64编码、Excel操作库的使用、文件保存和浏览器兼容性等多个方面的知识。通过合理地组合和运用这些技术,可以实现从Web页面上将图片转换并写入Excel的...

    纯前端 JS脚本 导出excel 可动态添加数据

    1. 使用JavaScript库(如`XLSX`)在浏览器环境中生成Excel文件。 2. 动态数据处理,根据用户输入或其他条件实时添加或修改数据。 3. 结合其他库(如`jQuery`)简化前端操作。 4. 提供示例(`demo.html`)和文档(`...

    jQuery HTML表格生成Excel文件插件.zip

    在IT领域,jQuery HTML表格生成Excel文件插件是一种常见的实用工具,它可以帮助用户方便地将网页中的HTML表格数据导出为Excel格式的文件。这款插件是基于jQuery库的table2excel扩展,允许开发者轻松地集成到自己的...

Global site tag (gtag.js) - Google Analytics