2015-09-06 86 views
2

我有這個頁面上100個table S和每個人都有一個checkbox。我的目標是將每個具有相應的checkbox的表的內容下載到一個cvs文件中。這是表格的代碼。如何將多個表的內容下載到CSV文件

for(int i = 0; i <100; i++){%> 
<table style="text-align: left;" id="Table<%= i %>" cellpadding="5" cellspacing="2" frame="box"> 
    <input type="checkbox" name='checkbox<%= i %>' checked> Include <br> 
    <%String[][] p = players1.remove(0); 
    for(int j=0;j<9;j++){ %> 
    <tr> 
    <%for(int k=0;k<10;k++){%> 
    <td style="vertical-align: top"><%= p[j][k]%><br></td> 
    <%}%> 
    </tr> 
    <%} %> 

這是我頁面上的表格的picture以幫助可視化。

回答

0

雖然沒有提到確切的語言,一個可能的選擇是檢查在框中選擇第一,如果選擇框的表。

打印每個表不與逗號分隔值。

這樣你就可以C/P所有的數據到一個文件中,並準備好被用作這樣的。

在其他語言如PHP,你可以明確地改變了頭,迫使網站下載一個特定的文件到您的計算機而不是開闢一個裸網頁。

+1

這是JSP。你的第一個建議絕對不是我要找的。而你的第二個建議不起作用,因爲我不希望每次都下載這些信息。我希望能夠首先查看它並選擇我想要包含在csv中的那些。此外,還需要在頁面上顯示不會包含在csv中的信息。 –

0

我不是Jquery那麼多熟悉的。這是我找到的一個解決方案。把你的table放在一個div與一些id(myDiv)。但是這不建議把java代碼寫入scriplet標籤so avoid it

JSP代碼:

<input type="button" value="Download" id="btn"/> 
<% 
for(int i = 0; i <10; i++){ 
%> 
<div id="myDiv"> 
<table id="table<%=i%>"> 
    <input type="checkbox" value='<%=i%>' class="use-class"> Include <br> 
    <% 
    for(int j=0;j<9;j++){ %> 
    <tr> 
    <%for(int k=0;k<10;k++){%> 
    <td><%="abc"+i+j+k%></td> 
    <%}%> 
    </tr> 
    <%} 
    }%> 
    </table> 
    </div> 

腳本代碼在JSP:

<script> 
$(document).ready(function() { 
$("#btn").click(function(){//Called when you clicks on Download button 
var data = Array(); 
var result=""; 
$('input:checkbox.use-class').each(function() { 
//get all checked checkboxes 
if(this.checked) 
{ 
var va="table"+$(this).val();//table id to get data 

$('#'+va+' tr').each(function(i, v){//get content of all rows of above table id 
    data[i] = Array(); 
    $(this).children('td').each(function(ii, vv){ 
     data[i][ii] = $(this).text(); 
    }); 
}); 
result+=data.join(",")+"##";//appending the single table result 
} 
}); 
alert(result); 
//Now pass result that contains all content of all tables to JSP with Ajax call to download 
}); 
}); 
</script> 
相關問題