excel抓取多页网页数据(如何将jsp页面表格中的数据导出到excel中?)
优采云 发布时间: 2022-01-17 20:21excel抓取多页网页数据(如何将jsp页面表格中的数据导出到excel中?)
在程序员的日常工作中,我们经常会遇到这样的问题。如何将jsp页表中的数据导出到excel中?
我知道的第一个方法是 javascript
function method1(tableid) {//整个表格拷贝到EXCEL中
var curTbl = document.getElementByIdx_x(tableid);
var oXL = new ActiveXObject("Excel.Application");
//建立AX对象excel
var oWB = oXL.Workbooks.Add();
//获取workbook对象
var oSheet = oWB.ActiveSheet;
//激活当前sheet
var sel = document.body.createTextRange();
sel.moveToElementText(curTbl);
//把表格中的内容移到TextRange中
sel.select();
//全选TextRange中内容
sel.execCommand("Copy");
//复制TextRange中内容
oSheet.Paste();
//粘贴到活动的EXCEL中
oXL.Visible = true;
//设置excel可见属性
}
但是,这种方法有很大的局限性。火狐和谷歌浏览器基本没用,用IE的时候修改安全设置很不方便。
此外,还可以采取以下方式:在jsp页面头部添加这一段:
wjm 是您要导出的 Excel 工作表的名称。使用这种方法,当你打开链接指向页面时,浏览器会提示你下载excel表格,你可以以excel的形式保存到本地。该方法适用于各种浏览器,但在当前页面看不到数据表的内容,因为打开页面会提示直接下载。如何解决这个问题呢?我是这样解决的:
点击导出通信录
这样,您将能够在当前页面上看到收录表格的页面,并在单击链接时下载它。
有时我们要收录的页面是struts的action处理过的页面。如果直接收录action指向的页面,那么页面上可能只看到header部分,没有数据。我该怎么办?处理它?
我想出的是使用ajax的方式:
<p>function init(){
$(function(){
$.ajax({
'async': false,
type : "post",
url :"showUser.action",
success : function(msg) {
$("#result").html(msg);
}
});
});
}
点击导出通信录