Android - Consultar un fichero excel desde internet

 
Vista:

Consultar un fichero excel desde internet

Publicado por EMILIO (1 intervención) el 11/10/2017 13:36:51
Hola a todos,
Estoy probando un codigo cuya funcion es la siguiente: una persona mete su dni a traves de un formulario, se compara con una base de datos en excel y devuelve los datos numericos correspondientes. El problema es que al probarlo en el localhost funciona pero cuando lo subo a internet con google app engine ,me da error, sera por la ubicacion de mi archivo excel en el proyecto? o quiza tengo que cambiar mi codigo. A ver si me podeis ayudar


Clase para importar excel

package com.edu4java.servelets;

import java.io.File;


import java.io.FileInputStream;
import java.io.IOException;
import java.util.ArrayList;
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 ImportarExcel {

public static ArrayList<String> data= new ArrayList<String>();
public static ArrayList<Double> data2=new ArrayList<Double>();

public static void ObtenerArchivos() throws IOException{

FileInputStream file = new FileInputStream(new File("C:\\Users\\Emilio Espejo\\eclipse-workspace\\PAGINA WEB\\war\\excelbuenobueno.xlsx"));
// Crear el objeto que tendra el libro de Excel
XSSFWorkbook workbook = new XSSFWorkbook(file);
XSSFSheet sheet = workbook.getSheetAt(0);

Iterator<Row> rowIterator = sheet.iterator();
Row row;
while (rowIterator.hasNext()){
row = rowIterator.next();
Iterator<Cell> cellIterator = row.cellIterator();
Cell celda;
while (cellIterator.hasNext()){


celda = cellIterator.next();

if (celda.getCellType() == Cell.CELL_TYPE_STRING) {
data.add(celda.getStringCellValue());

}
if (celda.getCellType() == Cell.CELL_TYPE_NUMERIC) {

data2.add(celda.getNumericCellValue());

//for(Double valores : data2){
//System.out.println(valores );
//}
}
}
}
workbook.close();
}

}


El servlet
package com.edu4java.servelets;
import com.edu4java.servelets.ImportarExcel;






import java.io.IOException;
import java.io.PrintWriter;
import java.util.ArrayList;



import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;




public class LoginServlet extends HttpServlet {
/**
*
*/
public static ArrayList<String> data3= ImportarExcel.data;
public static ArrayList<Double> data4= ImportarExcel.data2;

private static final long serialVersionUID = 1L;







protected void doPost(HttpServletRequest req, HttpServletResponse resp )
throws ServletException, IOException {


ImportarExcel.ObtenerArchivos();




String dni1 = req.getParameter("dni");





for( String dni: data3) {
int contador3=-1;

if(dni.equals(dni1)){
contador3 = data3.indexOf(dni);

response(resp, "El promotor con dni "+ dni1+" ha vendido " + data4.get((contador3*4))+" unidades de s8, otras "+ data4.get((contador3*4)+1)+" unidades del modelo note 8 ,va a tener un ajuste de "+ data4.get((contador3*4)+2)+ " y va a percibir "+ data4.get((contador3*4)+3)+ " euros brutos este mes" );
break;

}
else {

continue;




}





}

}



private void response(HttpServletResponse resp, String msg)
throws IOException {
PrintWriter out = resp.getWriter();
out.println("<html>");
out.println("<body>");
out.println("<t1>" + msg + "</t1>");
out.println("</body>");
out.println("</html>");
}
}


El archivo XML

<?xml version="1.0" encoding="utf-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5">

<servlet>
<servlet-name>login-servlet</servlet-name>
<servlet-class>com.edu4java.servelets.LoginServlet</servlet-class>
</servlet>

<servlet-mapping>
<servlet-name>login-servlet</servlet-name>
<url-pattern>/consulta</url-pattern>
</servlet-mapping>

</web-app>
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder