<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>
分享到:
相关推荐
jquery.table2excel.js 可一键生成Excel表格,需要jQuery.js支持 详细使用方法可见我的博客 https://blog.csdn.net/weixin_42571089/article/details/108799543
总结起来,纯前端生成HTML表格到Excel文件主要涉及以下步骤: 1. 获取HTML表格数据。 2. 将数据转换为CSV格式。 3. 创建并触发模拟的文件下载链接。 虽然这个方法简单易用,但并不适用于所有场景。在处理大量数据或...
9. **其他替代方案**:除了使用jQuery插件,还可以使用其他技术,如JavaScript的FileSaver.js库配合Blob对象,或者使用后端语言如PHP、Node.js来生成Excel文件,再发送给前端下载。 10. **安全性与隐私**:由于导出...
本文将深入探讨如何使用JavaScript、jQuery和HTML来实现这一功能,特别是通过JavaScript操作HTML表格来生成Excel文件。 首先,让我们理解基本概念。JavaScript是一种运行在客户端的脚本语言,它可以直接在用户的...
1.纯js+html实现抽签功能,导入excel文件,得到抽签结果,将抽签table导出为PDF(html2canvas+jsPdf)、Excel文件(js-xlsx,实现合并单元格,并设置单元格样式 字体、宽度、居中显示) 2.导入excel文件,生成小组赛...
标题 "纯前端html+js实现的excel转json格式" 描述了一个完全在浏览器环境中完成的Excel到JSON转换功能。这个技术方案特别适用于那些不需要服务器端处理的场景,比如小型项目或者临时的数据导入需求。它允许用户上传...
它可能包含了将JSON对象结构化为Excel表格所需的逻辑,包括列名的映射、数据类型的转换以及生成Excel文件的XML格式内容。 "jquery.min.js"是著名的jQuery库的压缩版本,一个轻量级、高性能的JavaScript库,简化了...
在这个“JavaScript操作Excel_Demo.zip”压缩包中,包含了一个名为“xlsx.full.min.js”的插件,它是XLSX库的一个版本,用于读取和写入CSV、XLS、XLSX等多种格式的电子表格文件。这个库基于JSON,使得在JavaScript...
`js-xlsx`是由SheetJS团队开发的,它提供了一套完整的API来解析、操作和生成Excel文件。这个库支持读取二进制文件(如Blob或ArrayBuffer),以及CSV和JSON格式的数据。以下是你需要了解的关键知识点: 1. **解析...
一个常见的方法是使用HTML5的Blob对象和FileSaver.js库来生成和保存文件。Blob对象可以用来存储二进制大对象,FileSaver.js则提供了在浏览器中保存文件的API。 以下是实现这个功能的主要步骤: 1. **数据转换**:...
js生成Excel文件,方法和方法已加注释,原理也很简单,上手可用。 js生成Excel文件,方法和方法已加注释,原理也很简单,上手可用。 js生成Excel文件,方法和方法已加注释,原理也很简单,上手可用。 js生成Excel...
接着,Export2Excel.js是另一个JavaScript库,专门用于将HTML表格数据导出为Excel文件。它利用了Blob.js的功能,将HTML表格的内容转化为Excel文件格式,并提供了一个方便的API供开发者调用。通常,Export2Excel.js会...
总的来说,这个示例提供了一种使用JavaScript直接在客户端生成Excel报表的方法,这在某些场景下可以提高用户体验,但同时也需要注意其兼容性和安全性问题。在实际开发中,考虑到跨平台和安全性的需求,通常会采用...
4. **生成Excel文件**:使用上述信息,库会生成一个二进制的`.xls`或`.xlsx`文件,这是Excel的标准文件格式。这通常通过创建一个Blob对象并触发浏览器的下载功能来实现。 在`页面数据导出到Excel文件.html`中,你...
在JavaScript中操作Word和Excel可能涉及到的技术主要包括ActiveX对象、数据导出以及对象模型的使用。以下是对这些知识点的详细解释: 1. **ActiveX对象**:在上述代码中,`ActiveXObject` 是一个用于在Internet ...
"Export2Excel.js"是核心的导出工具,它封装了生成Excel文件的过程。这个库通常会利用HTML表格来模拟Excel的工作表,并通过转换成Blob对象,再借助URL.createObjectURL方法生成一个临时的下载链接,用户点击后即可...
总的来说,将图片写入Excel文件涉及到JavaScript的文件读取、Base64编码、Excel操作库的使用、文件保存和浏览器兼容性等多个方面的知识。通过合理地组合和运用这些技术,可以实现从Web页面上将图片转换并写入Excel的...
1. 使用JavaScript库(如`XLSX`)在浏览器环境中生成Excel文件。 2. 动态数据处理,根据用户输入或其他条件实时添加或修改数据。 3. 结合其他库(如`jQuery`)简化前端操作。 4. 提供示例(`demo.html`)和文档(`...
在IT领域,jQuery HTML表格生成Excel文件插件是一种常见的实用工具,它可以帮助用户方便地将网页中的HTML表格数据导出为Excel格式的文件。这款插件是基于jQuery库的table2excel扩展,允许开发者轻松地集成到自己的...