『壹』 jsp頁面點擊下載,彈出新窗口出現下載控制項,具體下載內容是資料庫中的一個欄位,下載文件為一個excel文件
也不想根據你的具體情況進行修改了,你自己看看我曾經寫過的這個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;
}
『貳』 jsp table的局部刷新
jsp中的table局部刷新就通過ajax非同步刷新數據數顯的。
jsp中ajax的寫法:
function update (){
$.ajax(function(){
method:"post",
url:"DeleteAction",
data:xxxxx,
success: function(return) {
$("#tabelData").html(return);
}
});
}
jsp中table:
<table>
<tr>
<td>第一行版</td>
<td><a onclick="updata()">更新</a></td>
</tr>
<table>
實現過程:點擊表格的某權一行數據,就觸發更新動作,執行update方法。
update中調用ajax介面去後台取數據並刷新之前的記錄。
『叄』 用JSP動態生成表格
用JS生成:
<%@ page language="java" pageEncoding="UTF-8"%>
<html>
<head>
<title>Test</title>
<script type="text/javascript">
function toTable(){
var rows = document.getElementById("txtRow").value;
var cols = document.getElementById("txtCol").value;
var textHTML = '<table cellpadding="0" cellspacing="0" border="1" width="100%">';
for(var i=0; i<rows; i++){
textHTML += '<tr align="center" height="30">';
for(var j=0; j<cols; j++){
textHTML += "<td>[" + (i+1) + "] | [" + (j+1) + "]</td>";
}
}
textHTML += "</table>";
document.getElementById("testTable").innerHTML = textHTML;
}
</script>
</head>
<body onload="toTable();">
行:<input type="text" name="txtRow" value="3" style="width: 50px;"/>
列:<input type="text" name="txtCol" value="3" style="width: 50px;"/>
<input type="button" name="btnGo" value="生成" onclick="toTable();"/>
<br />
<div id="testTable">
</div>
</body>
</html>
----------------------------------------------------------
用JAVA代碼:
<%@ page language="java" pageEncoding="UTF-8"%>
<html>
<head>
<title>Test</title>
</head>
<body>
<div>
<table cellpadding="0" cellspacing="0" border="1" width="100%">
<%
int rows = 3; // 多少行
int cols = 3; // 多少列
for(int i = 0; i < rows; i++ ){
%>
<tr align="center" height="30">
<%
for(int j = 0; j < cols; j++ ){
%>
<td>[<%=i+1 %>] | [<%=j+1 %>]</td>
<%
}
}
%>
</table>
</div>
</body>
</html>
『肆』 我要把js中獲取到的列表在jsp頁面上以表格的形式展示,怎麼實現,求給個例子
<script type="text/javascript">
function bringToExcel(){
var pasteText="全部統計表 ";
pasteText=pasteText+document.all.ExcelBiao.innerHTML;
window.clipboardData.setData ("Text", pasteText);
var oXL = new ActiveXObject("Excel.Application");
oXL.Visible = true;
var oWB = oXL.Workbooks.Add();
var oSheet = oWB.ActiveSheet;
oSheet.Paste();
oXL.Visible = true;
oXL.UserControl = true;
}
//導出word
function OpenWord2(){
ExcelSheet = new ActiveXObject('Word.Application');
ExcelSheet.Application.Visible = true;
var mydoc=ExcelSheet.Documents.Add('',0,0);
myRange =mydoc.Range(0,1);
myRange =mydoc.Range(myRange.End-1,myRange.End);//設定起始點
var sel=document.body.createTextRange();
sel.moveToElementText(AoutWord);//設置要導出的表格名稱
sel.select();
document.execCommand('Copy');
sel.moveEnd('character');
myRange.Paste();
myRange =mydoc.Range(myRange.End-1,myRange.End);
myRange.InsertAfter("\n");
ExcelSheet.ActiveWindow.View.TableGridlines = false;
}
</script>
『伍』 如何在JSP中實現表格顏色交替出現
哈哈,幫你解決了問題,而且還要感謝你,我學會了CSS中的expression
解決方法如下:
<style>
td,th{
background:expression((this.parentNode.rowIndex)%2==0?"#3DB7CC":"#B3F4FF");
}
</style>
在<head>...</head>加上這段代碼,就可以適用任何網頁,其中#......是顏色的代碼,可以隨意搭配,順便給你截張圖
祝咱倆都學習進步!