form.jsp
Codice PHP:
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<form action="Controller" method="post" enctype="multipart/form-data">
<input type="file" name="fileUpload"/>
<input type="submit" value="Invia"/>
</form>
</body>
</html>
controller.java (servlet)
Codice PHP:
protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
boolean isMultipart = ServletFileUpload.isMultipartContent(request);
if(isMultipart){
try {
DiskFileItemFactory factory = new DiskFileItemFactory();
ServletFileUpload upload = new ServletFileUpload(factory);
List items = upload.parseRequest(request);
Iterator itr = items.iterator();
while(itr.hasNext()) {
FileItem item = (FileItem) itr.next();
if(!item.isFormField()) {
File fullFile = new File(item.getName());
File savedFile = new File(getServletContext().getRealPath("/"), fullFile.getName());
//scrivo l'item nel file "savedFile"
item.write(savedFile);
}
//out.println("nome " + item.getName() );lo stampa
}
out.println("File salvato");
} catch (Exception e) {
out.println("errore: "+e.getMessage());
}
}
}
il file viene salvato in C:\Users\Utente\Documents\NetBeansProjects\Prog\bu ild\web
ho fatto poi questa prova
Codice PHP:
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException, BiffException {
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
try {
String filePath="C://Users//Utente//Desktop//mod.xls";
FileInputStream fs = new FileInputStream(new File(filePath));
WorkbookSettings ws = null;
Workbook workbook = null;
Sheet s = null;
Cell rowData[] = null;
int rowCount = 0;
int columnCount = 0;
int totalSheets = 0;
ws = new WorkbookSettings();
workbook = Workbook.getWorkbook(fs, ws);
totalSheets = workbook.getNumberOfSheets();
s = workbook.getSheet(0);
columnCount=s.getColumns();
String [] nome = new String [columnCount];
Object columnNames[] = new Object [columnCount];
for(int i=0; i<columnCount;i++){
out.print(s.getCell(i, 0).getContents());
//columnNames[0] =s.getCell(i, 0).getContents();
}
rowCount = s.getRows();
columnCount = s.getColumns();
for (int i = 1; i < rowCount; i++) {
rowData = s.getRow(i);
if (rowData.length > 1) {
for (int j = 0; j < columnCount; j++) {
if (rowData[j] != null)
out.println(rowData[j].getContents());
}
}
}
} finally {
out.close();
}
}
e il risultato è che mi stampa il documento .xls nel browser, ma su un'unica riga.