|
|
|
Servlet (jxl)+download file from server
|
|||
|---|---|---|---|
|
#18+
Добрый день! Помогите с сервлетом нужно реализовать: клиент посылает запрос на сервер, т.е. запускаеи сервлет сервлет на диске создает файл test1, потом с помощью jxl его модифицирую и потом надо его открыть обратно у клиета, если это на одном компе, то можно с помощью String dirname = "c:/"; String filename =fileName+".xls"; Runtime rt=Runtime.getRuntime(); Process pr=rt.exec("c:/Program Files/Microsoft Office/OFFICE11/EXCEL.EXE " + "\"" + dirname + filename + "\"" ); если - клиент-сервер-клиент, то тогда как, вроде бы ServletOutputStream outputStream; response.setHeader("Content-Disposition","attachment; filename=test1.xls"); outputStream=response.getOutputStream(); но тогда он окрывает не файл который я создавал, а какой то другой, как задать чтобы открывал пмой файл или как по другому реаливать спасибо!!!! import java.io.IOException; import java.util.HashMap; import java.util.Map; import javax.servlet.ServletException; import javax.servlet.ServletOutputStream; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.ServletInputStream; import java.io.FileInputStream; import java.io.PrintWriter; import java.io.*; import java.text.*; import java.util.*; import jxl.*; import jxl.write.*; import jxl.write.Number; /** * @author * * @web.servlet name="ReportXls" * @web.servlet-mapping url-pattern="/ReportXls" * */ public class ReportXls extends HttpServlet{ String path; protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doGet(request,response); } protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //String fileName=request.getParameter("file"); String fileName="test1"; System.out.println("Test1"); try { WritableWorkbook wb = Workbook.createWorkbook(new File ("c:/"+fileName+".xls")); WritableSheet sheet = wb.createSheet("Privet 1", 0); sheet.setColumnView(0,10); sheet.setColumnView(1,20); sheet.setColumnView(2,20); sheet.setName("Proba");///////////test jxl.write.Number number = new jxl.write.Number(1,0,789.123); sheet.addCell(number); jxl.write.Number number1 = new jxl.write.Number(1,1,789.124); sheet.addCell(number1); wb.write(); wb.close(); FileOutputStream fileOut; ServletOutputStream outputStream; try { response.setHeader("Content-Disposition","attachment; filename=test1.xls"); outputStream=response.getOutputStream(); outputStream.flush(); outputStream.close(); /* String dirname = "c:/"; String filename =fileName+".xls"; Runtime rt=Runtime.getRuntime(); Process pr=rt.exec("c:/Program Files/Microsoft Office/OFFICE11/EXCEL.EXE " + "\"" + dirname + filename + "\"" ); */ } catch (Exception e) { } } catch(Exception e) { response.setContentType("text/html"); e.printStackTrace(); PrintWriter pr =response.getWriter(); pr.println("File not found, xixi"); } } public void init() throws ServletException { path=(String)getInitParameter("filepath"); } } ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2006, 14:25 |
|
||
|
Servlet (jxl)+download file from server
|
|||
|---|---|---|---|
|
#18+
.... wb.write(); wb.close(); ServletOutputStream outputStream; FileOutputStream fileOut; ne nado. try { response.setHeader("Content-Disposition","attachment; filename=test1.xls"); outputStream=response.getOutputStream(); FileInputStrream inputXSLFile=new FileInputStream (new File ("c:/"+fileName+".xls")); byte[] file=new byte[2048]; int len=0; while((len=inputXSLFile.read(file))!=-1){ outputStream.write(0,len,file); } inputXSLFile.close; .... Pisal sljotu prover' kod. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2006, 17:29 |
|
||
|
Servlet (jxl)+download file from server
|
|||
|---|---|---|---|
|
#18+
сейчас гляну ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2006, 17:38 |
|
||
|
Servlet (jxl)+download file from server
|
|||
|---|---|---|---|
|
#18+
ругается на эту строчку - outputStream.write(0,len,file); cannot resolve symbol [javac] symbol : method write (int,int,byte[]) [javac] location: class javax.servlet.ServletOutputStream [javac] outputStream.write(0,len,file); [javac] ^ [javac] 1 error ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2006, 17:47 |
|
||
|
Servlet (jxl)+download file from server
|
|||
|---|---|---|---|
|
#18+
ругается на эту строчку - outputStream.write(0,len,file); cannot resolve symbol [javac] symbol : method write (int,int,byte[]) [javac] location: class javax.servlet.ServletOutputStream [javac] outputStream.write(0,len,file); [javac] ^ [javac] 1 error ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2006, 17:50 |
|
||
|
|

start [/forum/topic.php?fid=59&fpage=710&tid=2148587]: |
0ms |
get settings: |
6ms |
get forum list: |
17ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
177ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
37ms |
get tp. blocked users: |
1ms |
| others: | 216ms |
| total: | 470ms |

| 0 / 0 |
