如何将多个表的内容下载到csv文件

时间:2015-09-06 04:04:31

标签: javascript java html jsp

我在此页面上有100个table,每个都有一个checkbox。我的目标是将每个具有相应checkbox检查的表的内容下载到一个cvs文件中。这是表格的代码。

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个表格,以帮助您进行可视化。

2 个答案:

答案 0 :(得分:0)

虽然没有提到确切的语言,但可能的选择是检查首先选择框的表格以及是否选中该框。

以逗号分隔值打印每个表格。

通过这样做,您将能够将所有数据c / p到文件中,并准备好将其用于此文件。

在其他语言(例如php)中,您可以明确更改标题,强制网站作为特定文件下载到您的计算机,而不是打开一个裸网页。

答案 1 :(得分:0)

我对Jquery并不熟悉。这是我发现的一个解决方案。将tablediv(myDiv)放在一个id中。但是,建议不要在java代码so avoid it中添加scriplet代码。

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>