1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
|
<%@ page import="java.io.File,java.io.FileInputStream,java.io.PrintWriter,javax.servlet.ServletOutputStream" %>
<%
response.setContentType("application/xls");
response.setHeader("Content-Disposition", "atachment; filename=test.xls");
response.setHeader("Content-Description", "JSP Generated Data");
try
{
File uFile = new File( "c:\\test.xls" );
// objet qui va permettre de lire dans le fichier :
FileInputStream fis = new FileInputStream(uFile);
// ouverture du flux de sortie pour créer la réponse qui va contenir le fichier excel (pareil que pour les fichiers html)
response.setHeader("Content-Length", uFile.length())
//PrintWriter pw = response.getWriter();
ServletOutputStream out = getOutputStream();
// boucle octet par octet sur le fichier
// tant qu'il y a un octet à lire, tu écris l'octet dans la réponse
int c=-1;
while ((c = fis.read()) != -1){
// pw.print((char)c);
out.print((char)c);
}
// Maintenant y a plus qu'à tout fermer et envoyer le tout
fis.close();
out.flush();
}
catch(Exception e){}
%> |