【问题标题】:How to download the contents of multiple tables to a csv file如何将多个表的内容下载到 csv 文件
【发布时间】:2015-12-01 21:43:03
【问题描述】:

我在这个页面上有 100 个tables,每个都有一个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,以帮助进行可视化。

【问题讨论】:

    标签: javascript java html jsp


    【解决方案1】:

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

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

    通过这样做,您将能够将所有数据 c/p 到一个文件中,并准备好使用它。

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

    【讨论】:

    • 这是在 jsp 上。你的第一个建议绝对不是我想要的。而且您的第二个建议不起作用,因为我不希望每次都下载此信息。我希望能够先查看它并选择要包含在 csv 中的那些。页面上还需要有不包含在 csv 中的信息。
    【解决方案2】:

    我对@9​​87654322@ 不太熟悉。这是我找到的一种解决方案。将您的 tables 与一些 id (myDiv) 放在一个 div 中。但是这个不建议在scriplet标签so avoid it中写java代码。

    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>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-02-23
      • 1970-01-01
      • 2012-07-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多