Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/373.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 有没有什么好方法可以在不使用rs.getString的情况下检索数据并以.xls或.csv格式保存?_Java_Oracle_Jsp - Fatal编程技术网

Java 有没有什么好方法可以在不使用rs.getString的情况下检索数据并以.xls或.csv格式保存?

Java 有没有什么好方法可以在不使用rs.getString的情况下检索数据并以.xls或.csv格式保存?,java,oracle,jsp,Java,Oracle,Jsp,我在一个应用程序上工作,我想下载.xls格式的表,表是以.xls格式下载的,但我必须在while(rs.next())条件下给出列名,这是我不想要的,我想要不指定列名的数据应该基于st.executeQuery()下载;还有吗?我在这里粘贴我的代码 <%@page contentType="text/html" pageEncoding="UTF-8"%> <%@page import="java.sql.*"%> <!DOCTYPE html> <ht

我在一个应用程序上工作,我想下载.xls格式的表,表是以.xls格式下载的,但我必须在while(rs.next())条件下给出列名,这是我不想要的,我想要不指定列名的数据应该基于st.executeQuery()下载;还有吗?我在这里粘贴我的代码

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%@page import="java.sql.*"%>
<!DOCTYPE html>
<html>
    <head>
        <title>JSP Page</title>
    </head>
    <body>
        <form method="post" action="Download_excel.jsp">
          <table border="1">
              <tr>
                  <td>FILE_NAME</td>
                  <td>FILE_UPLOAD_DATE</td>
                  <td>POLICY_NO</td>
                  <td> ENDORSEMENT_NO</td>
                  <td> GP_EBAO</td>
                  <td> TOL_PRM</td>
                  <td> PRODUCT_NAME</td>
                  <td> POLICY_NUMBER</td>
                  <td> GP_OF</td>
                  <td>DIFF</td>

              </tr>
              <%


                  String txtfilename=request.getParameter("txtfilename");
                  String btnsubmit=request.getParameter("btnsubmit");
                     if(txtfilename==null ||txtfilename.trim().isEmpty())
       {
           out.println("<html><body><script type=\"text/javascript\">"); 
            out.println("confirm('first name field cannot be blank');"); 
            out.println("location='xlsUpload.html';");
            out.println("</script></body></html>"); 

       }
                     else
                          if(btnsubmit!=null)
                          {

                               response.setContentType("application/vnd.ms-excel");
response.setHeader("Content-Disposition", "attachment; filename="+txtfilename+".xls");
              Class.forName("oracle.jdbc.driver.OracleDriver");
        Connection con=DriverManager.getConnection("jdbc:oracle:thin:@172.18.115.213:1821:db","xe","se");
        Statement st=con.createStatement();
        ResultSet rs=st.executeQuery("select * from DYNAMIC_INSERT where file_name='"+txtfilename+"'");

        while(rs.next())
        {


              %>
              <tr>

                  <td><%=rs.getString("FILE_NAME")%></td>


              <td><%=rs.getString("FILE_UPLOAD_DATE")%></td>

                  <td><%=rs.getString("POLICY_NO")%></td>

                  <td><%=rs.getString("ENDORSEMENT_NO")%></td>

                  <td><%=rs.getString("GP_EBAO")%></td>

                  <td><%=rs.getString("TOL_PRM")%></td>

                  <td><%=rs.getString("PRODUCT_NAME")%></td>

                  <td><%=rs.getString("POLICY_NUMBER")%></td>
                         <td><%=rs.getString("GP_OF")%></td>
                         <td><%=rs.getString("DIFF")%></td>
              </tr>

              <%
              }
}
              %>
          </table>
        </form>
    </body>
</html>

JSP页面
文件名
文件上传日期
政策编号
背书号
吉普赛博
托尔鲁酒店
产品名称
保单号码
全科医生
差异
这里我尝试了下面的代码,但只检索列名,而不检索数据

 ResultSetMetaData rsmd = rs.getMetaData();

        int numOfCols = rsmd.getColumnCount();

        for(int i = 1; i <= numOfCols; i++)
        {
        %>
        <tr>
        <td>
           <%=rsmd.getColumnName(i))%>;
            </td>
            </tr>

        <%  
        }
        %>
ResultSetMetaData rsmd=rs.getMetaData();
int numOfCols=rsmd.getColumnCount();
对于(int i=1;i
;

是的,你可以。你已经走到一半了。
您可以使用ResultSetMetaData来实现这一点

然后通过列索引调用rs.getString。 见->

ResultSetMetaData rsmd=rs.getMetaData();
int numOfCols=rsmd.getColumnCount();
while(rs.next()){

对于(int i=1;i)如果要输出所有列且所有列都包含字符串,可以在try代码中使用
。@Holger:no不是workedrs。如果idx是合法的列索引,则getString(int idx)是合法调用。“not working”没有帮助。
ResultSetMetaData rsmd = rs.getMetaData();
int numOfCols = rsmd.getColumnCount();
while(rs.next()) {
  for(int i = 1; i <= numOfCols; i++) {
    <%=rs.getString(i)%>
  }
}