jsp页面点击下载,弹出新窗口出现下载控件,具体下载内容是数据库中的一个字段,下载文件为一个excel文件

此字段的格式为<table></table>的一个表格,内有多行多列,只提取对应内容,样式、标签不需要!急急急,求解答!... 此字段的格式为<table></table>的一个表格,内有多行多列,只提取对应内容,样式、标签不需要!急急急,求解答! 展开
 我来答
寒GG冰
2013-04-16 · TA获得超过108个赞
知道小有建树答主
回答量:173
采纳率:100%
帮助的人:76.9万
展开全部
也不想根据你的具体情况进行修改了,你自己看看我曾经写过的这个js方法把,如果有不完美的地方自己修改一下把。使用下面方法前提是电脑中安装了office

/**
* 25、将table中的数据导出到excel中
* @param tableId 表的id
* @return 无返回,方法中自动处理
*/
function outTableToExcel(tableId){
try{

var xls = new ActiveXObject( "Excel.Application" );
}catch(e){
alert( "要使用该功能,您必须安装Excel电子表格软件,并将电子税务局网站添加为信任站点!\n"+
"添加方法:点击浏览器上面的【工具】--点击【Internet选项】--点击【安全】--点击【可信站点】--点击【站点】--输入或确认一下网址最后点击【添加】");
return false;
}
xls.visible = true;
var xlBook = xls.Workbooks.Add;
var xlsheet = xlBook.Worksheets(1);
//xlsheet.SaveAs("D:\\TEST.XLS");//保存到哪里
var x = 1;
var y = 1;
var objTab=document.getElementById(tableId);
for (var i = 0; i < objTab.rows.length; i++){
y = 1;
for (var j = 0; j < objTab.rows[i].cells.length; j++){
var cellValue="";
var tdcon=objTab.rows[i].cells[j];
if($(tdcon).find("select").length > 0){
//如果是下拉列表的话只得到选中的项显示的值
var selectOb=$(tdcon).find("select").get(0);
cellValue = selectOb.options[selectOb.selectedIndex].innerHTML;
}else if($(tdcon).find("input").length > 0){
for(var k=0;k<$(tdcon).find("input").length;k++){
if($(tdcon).find("input").get(k).type != "hidden" && $(tdcon).find("input").get(k).type != "checkbox" &&
$(tdcon).find("input").get(k).type != "radio"){
//如果是文本框,则只得到文本框内的值
cellValue = $(tdcon).find("input").get(k).value;
}else if($(tdcon).find("input").get(k).type != "hidden"){
cellValue = "无效列";
}
}
}else{
var yszfc = tdcon.innerHTML;
var bqsl=yszfc.split("</").length;
for(var yszfcIndex=1;yszfcIndex<bqsl;yszfcIndex++){
var ksbqWz=yszfc.indexOf("<");
var ksbqJsWz=yszfc.indexOf(">");
var jsbqWz=yszfc.lastIndexOf("</");
var jsbqJsWz=yszfc.lastIndexOf(">");
var yszfc1=yszfc.substring(ksbqWz,ksbqJsWz+1);
var yszfc2=yszfc.substring(jsbqWz,jsbqJsWz+1);
yszfc=yszfc.replace(yszfc1, "");
yszfc=yszfc.replace(yszfc2, "");
}

cellValue=yszfc;
}
xlsheet.Columns(y).NumberFormatLocal= "@";
xlsheet.Cells(x, y).Value = cellValue;
xlsheet.Cells(x, y).Borders.LineStyle = 1;
y++;
}
x++;
}
xlsheet.Columns.AutoFit; //自动适应大小

return;
}
百度网友d4d2ac2
2013-04-18 · 超过36用户采纳过TA的回答
知道小有建树答主
回答量:617
采纳率:0%
帮助的人:137万
展开全部
建议你使用PageOffice,很简单就可以实现的,网上搜有很多它的示例代码,搜搜看。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式