<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>
分享到:
相关推荐
javascript操作excel生成报表示例_.docx
这是一个使用PS批量生成图片的脚本模型,程序中Excel中分别读取某一列的文本,填入到PS的第一个文本图层,并更改分别更换第二个图层的图片,然后另存为JPEG图片。 整个过程可以自动批量完成,省去了单独输入的麻烦...
最近在做以post请求方式导出excel时,想到了可以使用Blob对象将后台返回的输出流以arraybuffer或blob的格式接收交给Blob处理,最后使用URL生成链接,供浏览器下载excel。 环境 vue2.x webpack3.x axi
那么问题来了,如果在生成excel时有请求参数,只能通过js的http请求,这时候怎么下载呢? 研究了一下,有以下几种方式: 1. angularjs创建a标签模拟下载 // 创建a标签模拟下载 function exportExcel(params, ...
Excel省市区数据、邮政编码及三级联动示例
最近做一个项目,用到javascript操纵excel以生成报表,下面是标有详细注解的实例
node-xlsx: 基于Node.js解析excel文件数据及生成excel文件,仅支持xlsx格式文件; excel-parser: 基于Node.js解析excel文件数据,支持xls及xlsx格式文件; excel-export : 基于Node.js将数据生成导出excel文件,生成...
## 使用nodejs中node-xlsx库进行excel的...nodejs中生成excel的库很多,在尝试后,个人认为对于简单的需求(按行添加),使用node-xlsx就足够了。 1.因为属于第三方模块,所以肯定要npm一下,然后引入。 npm instal
Excel解析器处理器跨平台桌面应用程序,用于处理Excel文件的所有行只需从excel文件的行中生成一个项目数组,然后逐步地进行重复的繁琐操作,直到处理完数组中的每个项目。 例如,将所有URL下载到excel文件中。如何...
公司一个新的需求导出Exce表格,...第一次采用FileSaver.js 由于刚开始导致导出一片空白,还只能抓取网页里面的表格地址:https://github.com/eligrey/FileSaver.js HTML <th>Name <th>Email <tbody>
Excel VBA 或者 WPS JS宏 要批量生成二维码或者条形码,一般通过网络请求的方式从网站上获取,对于不能联网的电脑非常麻烦。 另类的解决办法:利用bwip-js包,通过node.js环境搭建本地服务器 ,将其打包成exe可执行...
用JavaScript编写的Excel XLSX解析器/生成器,具有Node.js和浏览器支持,jQuery / d3样式方法链接,加密,并专注于保持现有工作簿功能和样式不变。 目录 查找和替换 款式 富文本 支持的样式 用法 笔记 日期 资料验证...
构造函数参数说明 options = { callback, rules, sheetToJsonOpt, parseOpt } 解析及生成excel,可以通过直接导入Excel类方式的实现 参数 类型 说明 是否必传 默认值 callback function 解析结果回调函数, 第一个...
通过自定义函数,您可以通过在JavaScript中将这些函数定义为外接程序的一部分来向Excel添加新函数。 Excel中的用户可以访问自定义函数,就像访问Excel中的任何本机函数一样,例如SUM() 。 该存储库包含创建新的...
示例描述:介绍JavaScript访问本地文件的各种方法。 16.1.html 使用JavaScript访问驱动器。 16.2.html 在JavaScript中使用FileSystemObject操作文件夹。 16.3.html 使用JavaScript获取指定文件并列出其...
下载需要用到js代码,我已经上传 2.在你的html文件中加入引用,路径问题自己 注意下,下面是我的路径 代码如下: [removed][removed]; 3.在你要用到的JS代码的Ext.onReady()的开始加上 代码如下: Ext.Loader
通过复制Table生成word和excel,个人感觉这个功能还是比较实用的,下面有个不错的示例,希望对大家有所帮助
-增加表格导出Excel文件示例。-增加表格模板列使用单选列表、复选列表的示例。-完善在线文档http://doc.extasp.net/。-公开ControlBase的ConvertPropertiesToJObject和RecoverPropertiesFromJObject两个方法。-兼容...
-增加表格导出Excel文件示例。-增加表格模板列使用单选列表、复选列表的示例。-完善在线文档http://doc.extasp.net/。-公开ControlBase的ConvertPropertiesToJObject和RecoverPropertiesFromJObject两个方法。-兼容...