Java 无法将文件中的行插入数据库

Java 无法将文件中的行插入数据库,java,jsp,file-upload,odbc,Java,Jsp,File Upload,Odbc,我想使用java或JSP将excel工作表中的行插入SQL数据库。最初,我使用ODBC连接了这两个数据库。但我想从用户那里获取一个excel文件作为输入。为此,我创建了一个文件浏览器并上传了文件 如何使用ODBC连接连接上载的文件 如何查询上传的文件 若我使用ApachePOI解析Excel文件,我将得到列名,并且也会插入列名。我怎样才能避免这种情况 a) 如何插入具有特定列名的行,而不是从列编号插入的行 请提供代码片段1)如何使用ODBC连接连接上传的文件 如果这是您的要求,您必须编写一个服务

我想使用java或JSP将excel工作表中的行插入SQL数据库。最初,我使用ODBC连接了这两个数据库。但我想从用户那里获取一个excel文件作为输入。为此,我创建了一个文件浏览器并上传了文件

  • 如何使用ODBC连接连接上载的文件
  • 如何查询上传的文件
  • 若我使用ApachePOI解析Excel文件,我将得到列名,并且也会插入列名。我怎样才能避免这种情况

    a) 如何插入具有特定列名的行,而不是从列编号插入的行

    请提供代码片段

    1)如何使用ODBC连接连接上传的文件


    如果这是您的要求,您必须编写一个服务来将excel映射到DB?

    要从excel文件中获取值,您应该使用Apache POI。 同时插入列名的问题的解决方案是:

    如果列名在第1行中,则从1开始循环,而不是从10开始循环

    int i=1;
    do{
       {
      HSSFRow row1 = worksheet.getRow(i);                   
      HSSFCell cellA1 = row1.getCell((short) 0);
      String a1Val = cellA1.getStringCellValue().toString();
      System.out.println(a1Val);
      i++;
      // And if you want to enter this value in sql database , write a odbc connection and  insert query to sql database.
    }
    }while(a1val.!equals("");
    

    对使用DSN我们可以做到这一点。。。但是如何用ODBC连接上传的文件呢?您可以将excel保存到服务器上的某个位置,然后使用Class.forName(“sun.jdbc.ODBC.JdbcOdbcDriver”);连接c=DriverManager.getConnection(“jdbc:odbc:Driver={Microsoft Excel驱动程序(*.xls)};DBQ=c:/database.xls;readOnly=false”);这样做。如果这就是你要问的?但是,如果您已经在使用POI进行解析,那么JAVA POJO中确实有数据,您所要做的就是SQL插入。我想我没有收到你的问题是excel文件。。这基本上就是excel文件所在的绝对位置。因此,它就像Java连接到数据源(该数据源是excel文件)如何在查询Excel工作表之前知道有多少行???因为我不能说iSELECT COUNT应该能够说有多少行/记录。如何在查询Excel工作表之前知道有多少行???因为我不能说我已经编辑了代码。假设您有25行数据,那么这段代码将一直运行到第26行,因为它不包含任何值,所以将退出循环。