Téléchargement+ lire un fichier excel dans une page jsp à l'aide de POI

Je veux lire un fichier excel en JSP,pour cela, j'ai tout d'abord téléchargé le fichier dans un dossier dans l' 😀 partition nommée uploads à l'aide d'un projet d'application web,et j'ai essayé de lire la excel fichier téléchargé avec un autre projet java.Les deux codes sont de travail.Ici c'est le code de téléchargement dans un dossier spécifique par projet d'application web(JSP, SERVLET):

Bibliothèques

  1. commons-fileupload-1.2.2.jar
  2. commons-io-2.1.jar

index.jsp

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<title>Upload File</title>
</head>
<body>
<form action="UploadFile" method="post" enctype="multipart/form-data">
Select File : <input type="file" name="filetoupload">
<br/>
<input type="submit" value="Upload File">
</form>
</body>
</html>

UploadServlet.java(Servlet)

import java.io.*;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Date;
import java.util.Iterator;
import java.util.List;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.FileItemFactory;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.servlet.ServletFileUpload;
import org.apache.commons.io.FilenameUtils;

public class UploadFile extends HttpServlet{

String saveFile="D:/upload/"; 

protected void processRequest(...)throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();

try {
boolean ismultipart=ServletFileUpload.isMultipartContent(request);
if(!ismultipart){

}else{
FileItemFactory factory = new DiskFileItemFactory();
ServletFileUpload upload = new ServletFileUpload(factory);
List items = null;

try{

items = upload.parseRequest(request);
}catch(Exception e){
}
Iterator itr = items.iterator();
while(itr.hasNext()){
FileItem item = (FileItem)itr.next();
if(item.isFormField()){

}else{
String itemname = item.getName();
if((itemname==null || itemname.equals(""))){
continue;
}
String filename = FilenameUtils.getName(itemname);
File f = checkExist(filename);
item.write(f);
}
}
}

}catch(Exception e){

}
finally {
out.close();
}
}

private File checkExist(String fileName) {
File f = new File(saveFile+"/"+fileName);

if(f.exists()){
StringBuffer sb = new StringBuffer(fileName);
sb.insert(sb.lastIndexOf("."),"-"+new Date().getTime());
f = new File(saveFile+"/"+sb.toString());
}
return f;
}

@Override
protected void doGet(...)throws ServletException, IOException {
processRequest(request, response);

}

@Override
protected void doPost(...)throws ServletException, IOException {
processRequest(request, response);
}

@Override
public String getServletInfo() {
return "Short description";
}

}

Puis-je créer un nouveau PROJET en JAVA (SWING) et d'essayer le code de la lecture d'un Fichier EXCEL via POI,Il a travaillé en tant que bien,ici son, c'est le code:

Bibliothèques

  1. dom4j-1.6.1.jar
  2. poi-3.10-FINAL-20140208.jar
  3. poi-ooxml-3.9-20121203.jar
  4. poi-ooxml-schemas-3.9-20121203.jar
  5. xmlbeans-2.3.0.jar

JavaApplication.java

import java.io.*;
import java.util.Iterator;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;

public class JavaApplication{
public static void main(String[] args){
try{
FileInputStream file;
file = new FileInputStream(new File("D:\upload\total.xlsx"));

//Create Workbook instance holding reference to .xlsx file
XSSFWorkbook workbook = new XSSFWorkbook(file);

//Get first/desired sheet from the workbook
XSSFSheet sheet = workbook.getSheetAt(0);

//Iterate through each rows one by one
Iterator<Row> rowIterator = sheet.iterator();
while (rowIterator.hasNext()){
Row row = rowIterator.next();
//For each row, iterate through all the columns
Iterator<Cell> cellIterator = row.cellIterator();

while (cellIterator.hasNext()){
Cell cell = cellIterator.next();

//Check the cell type and format accordingly
switch (cell.getCellType()){
case Cell.CELL_TYPE_NUMERIC:
System.out.print(cell.getNumericCellValue() + "t");
break;
case Cell.CELL_TYPE_STRING:
System.out.print(cell.getStringCellValue() + "t");
break;
}
}
System.out.println("");
}
file.close();
} 
catch (Exception e) 
{
e.printStackTrace();
}
}
}

La question est comment mélanger ces deux codes de pouvez TÉLÉCHARGER le fichier, puis imprimer les données à partir d'EXCEL vers une table en JSP ???? m'aider je suis bloqué depuis plus d'un mois sur cette procédure

Comme par Apache POI entrée de la FAQ, des pots de différentes versions ne sont pas pris en charge, de sorte que vous devrait résoudre votre programme à utiliser uniquement PVE pots de la même version

OriginalL'auteur Nihad KH | 2014-04-10