[置顶] Jsp中的table多表头导出excel文件
- 作者: 五速梦信息网
- 时间: 2026年04月04日 13:58
首先引入两份JS:copyhtmltoexcel.js以及 tableToExcel.js
copyhtmltoexcel.js
//elTalbeOut 这个为导出内容的外层表格,主要是设置border之类的样式,elDiv则是整个导出的html部分
function onhtmlToExcel(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)
}
} 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;
}
在JSP页面中写JS方法//生成Excel
function onTableToExcel(){
var elTableOut = document.getElementById("elTableOut");
var elDiv = document.getElementById("elDiv");
onhtmlToExcel(elTableOut,elDiv);
}
注意事项:使用JS导出excel需要设置IE的active。注意最佳的是IE8浏览器。至于在java后台实现excel还没去研究,希望各位大神指教。
- 上一篇: [置顶] 纯手工打造漂亮的垂直时间轴,使用最简单的HTML+CSS+JQUERY完成100个版本更新记录的华丽转身!
- 下一篇: [置顶] C语言中各种数据类型的长度 sizeof char, short, int, long, long long
相关文章
-
[置顶] 纯手工打造漂亮的垂直时间轴,使用最简单的HTML+CSS+JQUERY完成100个版本更新记录的华丽转身!
[置顶] 纯手工打造漂亮的垂直时间轴,使用最简单的HTML+CSS+JQUERY完成100个版本更新记录的华丽转身!
- 互联网
- 2026年04月04日
-
[ת] Spring MVC sample application for downloading files
[ת] Spring MVC sample application for downloading files
- 互联网
- 2026年04月04日
-
[转] 关于 Ceph PG
[转] 关于 Ceph PG
- 互联网
- 2026年04月04日
-
[置顶] C语言中各种数据类型的长度 sizeof char, short, int, long, long long
[置顶] C语言中各种数据类型的长度 sizeof char, short, int, long, long long
- 互联网
- 2026年04月04日
-
[译]DbContext API中使用SqlQuery和ExecuteSqlCommand获取存储过程的输入输出参数
[译]DbContext API中使用SqlQuery和ExecuteSqlCommand获取存储过程的输入输出参数
- 互联网
- 2026年04月04日
-
[译]ABP vNext微服务演示,项目状态和路线图
[译]ABP vNext微服务演示,项目状态和路线图
- 互联网
- 2026年04月04日






