2 llx2007 llx2007 于 2016.04.05 16:15 提问

js 将table导入excel中为什么其实ActivitX没打开

js代码

 <script>
var idTmr = "";
function killExcelProcess(appExcel_){
appExcel_.Quit();
appExcel_ = null;
idTmr = window.setInterval("Cleanup();",1);
}

//导出到excel,参数tableid为JSP页面需要导出的table的id,需要更改IE的安全设置,ActiveX都打开,如果还是不能使用,再服务端运行“regsvr32 scrrun.dll”
function exportToExcel(tableid,notitleandsearch){
try {
clipboardData.setData('Text','');
var appExcel = new ActiveXObject("Excel.Application");

killExcelProcess(appExcel);
appExcel.workbooks.add;

//标题
if (notitleandsearch==null||notitleandsearch==false){
var elTable = document.getElementById('div_title');
var oRangeRef = document.body.createTextRange();
oRangeRef.moveToElementText(elTable);
oRangeRef.execCommand( "Copy" );
appExcel.ActiveSheet.Cells(1,3).select();
appExcel.ActiveSheet.Paste();

clipboardData.setData('Text','');
appExcel.ActiveSheet.Cells(2,1).select();
appExcel.ActiveSheet.Paste();
}

var elTable1 = document.getElementById(tableid);
var oRangeRef1 = document.body.createTextRange();
oRangeRef1.moveToElementText(elTable1);
oRangeRef1.execCommand( "Copy" );

appExcel.WorkSheets(1).Activate;
if (notitleandsearch==null||notitleandsearch==false){
appExcel.ActiveSheet.Cells(3,1).select();
}else{
appExcel.ActiveSheet.Cells(1,1).select();
}
appExcel.WorkSheets(1).Activate;
appExcel.ActiveSheet.Paste();
appExcel.Visible = true;

} catch(e) {
alert("请确认IE安全设置,ActiveX都启用!");
return false;
}
clipboardData.setData('text','');
}
</script> 

table
var table = $('#mainTable').DataTable(.......);

引用
<span style="float:right"><button onclick="javascript:exportToExcel('mainTable','');">导出</button></span>

现在一直再提示 "请确认IE安全设置,ActiveX都启用!“ 可是我已经打开了ActiveX,怎么回事?

2个回答

showbo
showbo   Ds   Rxr 2016.04.05 16:49
已采纳

去掉try..catch看哪行报错,不一定是acx问题,你访问剪贴板也可能会报错,ie only的少用。。。

showbo
showbo 回复凌云志轩: http://www.w3dev.cn/article/20140403/easyui-datagrid-import-to-excel.aspx
一年多之前 回复
llx2007
llx2007 那你有没有其他可以实现这种功能的代码呢?求大神给一份吧
一年多之前 回复
Royal_lr
Royal_lr   Ds   Rxr 2016.04.05 16:42

这个可能是兼容性的问题,,导入到excel感觉用后台可能方便点,,

llx2007
llx2007 java
一年多之前 回复
Royal_lr
Royal_lr 回复凌云志轩: 那得看你后台用的什么语言
一年多之前 回复
llx2007
llx2007 那有没有这方面的代码呢?我是前台按钮实现的,数据时后台接口给的
一年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!