2017-01-21 16 views
-2

次のエラーが表示されます。 ExcelのシートデータをMYSQLデータベースに挿入します。 Excelシートをアップロードして[送信]ボタンを押すと、以下の例外が発生しました。ここでjava.io.FileNotFoundException:<Excel FileName>指定されたファイルが見つかりません

java.io.FileNotFoundException: studentsdetails1.xls (The system cannot find the file specified) at java.io.FileInputStream.open0(Native Method) at java.io.FileInputStream.open(Unknown Source) at java.io.FileInputStream.<init>(Unknown Source)

私のコードです。ここでは、Excelファイルデータをデータベースに挿入します。

index.jsp- 

<%@ page language="java" contentType="text/html; charset=ISO-8859-1" 
pageEncoding="ISO-8859-1"%> 
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"   "http://www.w3.org/TR/html4/loose.dtd"> 
<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> 
<title>Insert title here</title> 
</head> 
<body> 
<form action ="Excel.jsp" method="post" > 

    <input type="file" name= "excelfile" size="20" id="file" /> 
     <input type="submit" value="Submit" /> 
</form> 
</body> 
</html> 

Excel.jsp-

<%@ page language="java" contentType="text/html; charset=ISO-8859-1" 
    pageEncoding="ISO-8859-1"%> 
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"    `"http://www.w3.org/TR/html4/loose.dtd"> ` 
<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> 
<title>Insert title here</title> 
</head> 
<body> 
<%@ page import ="java.util.Date" %> 
<%@ page import ="java.sql.*" %> 
<%@ page import ="java.io.*" %> 
    <%@ page import ="java.io.FileNotFoundException" %> 
    <%@ page import ="java.io.IOException" %> 
    <%@ page import ="java.util.Iterator" %> 
    <%@ page import ="java.util.ArrayList" %> 
    <%@ page import ="javax.servlet.http.HttpServletRequest"%> 
    <%@ page import ="org.apache.poi.hssf.usermodel.HSSFCell" %> 
    <%@ page import ="org.apache.poi.hssf.usermodel.HSSFRow" %> 
    <%@ page import ="org.apache.poi.hssf.usermodel.HSSFSheet" %> 
    <%@ page import ="org.apache.poi.hssf.usermodel.HSSFWorkbook" %> 
    <%@ page import ="akshay.Exceltest" %> 
    <%@ page import ="org.apache.poi.poifs.filesystem.POIFSFileSystem" %> 

    <%!  
    Connection con; 
    PreparedStatement ps=null; 
    Statement stmt= null; 
    public static ArrayList readExcelFile(String fileName) 
    { 
    /** --Define a ArrayList 
     --Holds ArrayList Of Cells 
     */ 
     System.out.println(fileName); 

     ArrayList cellArrayLisstHolder = new ArrayList(); 

     try{ 
     /** Creating Input Stream**/ 
     FileInputStream myInput = new FileInputStream(fileName); 

     /** Create a POIFSFileSystem object**/ 
     POIFSFileSystem myFileSystem = new POIFSFileSystem(myInput); 

     /** Create a workbook using the File System**/ 
     HSSFWorkbook myWorkBook = new HSSFWorkbook(myFileSystem); 

     /** Get the first sheet from workbook**/ 
     HSSFSheet mySheet = myWorkBook.getSheetAt(0); 

     /** We now need something to iterate through the cells.**/ 
      Iterator rowIter = mySheet.rowIterator(); 
      while(rowIter.hasNext()){ 
      HSSFRow myRow = (HSSFRow) rowIter.next(); 
       Iterator cellIter = myRow.cellIterator(); 
      ArrayList cellStoreArrayList=new ArrayList(); 
       while(cellIter.hasNext()){ 
        HSSFCell myCell = (HSSFCell) cellIter.next(); 
        cellStoreArrayList.add(myCell); 
       } 
      cellArrayLisstHolder.add(cellStoreArrayList); 
     } 
     }catch (Exception e){e.printStackTrace(); } 
     return cellArrayLisstHolder; 
     }%> 
     <% 
     String file = request.getParameter("excelfile"); 

     String fileName=""+file+""; //testExcel.xls Excel File name 

      //Read an Excel File and Store in a ArrayList 
       ArrayList dataHolder=readExcelFile(fileName); 
       //Print the data read 
       //printCellDataToConsole(dataHolder); 

      try 
       { 
       Class.forName("com.mysql.jdbc.Driver"); 
       Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/<dtatabse>", "name", "password"); 

       stmt =con.createStatement(); 
       String query="insert into students12(id,name,age) values(?,?,?)"; 

       ps=con.prepareStatement(query); 
      int count=0; 
      ArrayList cellStoreArrayList=null; 

      //For inserting into database 
      for(int i=1;i<dataHolder.size();i++) { 
       cellStoreArrayList=(ArrayList)dataHolder.get(i); 
       ps.setString(1,((HSSFCell)cellStoreArrayList.get(0)).toString()); 
       ps.setString(2,((HSSFCell)cellStoreArrayList.get(1)).toString()); 
       ps.setString(3,((HSSFCell)cellStoreArrayList.get(2)).toString()); 
       count= ps.executeUpdate(); 
       //out.print(((HSSFCell)cellStoreArrayList.get(2)).toString() + "\t"); 
         } 

       //For checking data is inserted or not? 
       if(count>0) 
       { 
       %> 

           Following deatils from Excel file have been inserted in student table of database 
          <table> 
           <tr> 
            <th>Student's Name</th> 
           <th>Class</th> 
           <th>Age</th> 
           </tr> 

       <% 

       for (int j=1;j < dataHolder.size(); j++) { 
      cellStoreArrayList=(ArrayList)dataHolder.get(j);%> 
      <tr> 
       <td><%=((HSSFCell)cellStoreArrayList.get(0)).toString() %></td> 
       <td><%=((HSSFCell)cellStoreArrayList.get(1)).toString() %></td> 
       <td><%=((HSSFCell)cellStoreArrayList.get(2)).toString() %></td> 
      </tr> 
     <%} 
       } 
      else 
       {%> 
      <center> Details have not been inserted!!!!!!!!!</center> 

         <% } 
        }catch(Exception e) 
       {}%> 
       </table> 

       </body> 
</html> 
+1

まあ... "指定されたファイルが見つかりません"というエラーメッセージでわからないことを説明することができますか? – Seelenvirtuose

+0

私はExcelシートを作成しました。 Excelシートデータをデータベースに挿入したい。しかし、私はこのエラーがあります。私はコードをデバッグするとき、私は同じ例外java.io.FileNotFoundExceptionを下の行に持っています。 FileInputStream myInput =新しいFileInputStream(fileName); –

+0

"システムは指定されたファイルを見つけることができません"あなたは正しいパスを持っていることを本当に信じていますか?私はそうは思わない。 – Moira

答えて

0

ようformenctype="multipart/form-data"を追加します。

<form action ="Excel.jsp" method="post" enctype="multipart/form-data" > 

関連する問題