我使用poi在服务器端生成了excel文件.xls,查询到的数据能正确存在其中,保存在本机(即服务器上)磁盘上D:\\test.xls,我想实现客户端访问网页时,也能打开或保存这个文件,是不是需要下载服务器端的那个文件,还是需要怎么做呢?我的初衷是使用这两句来实现
response.setContentType("application/vnd.ms-excel");
response.setHeader("Content-Disposition","attachment;filename=\""+"d:\\test.xls"+"\"");
请高手们看看我的程序是不是没有和服务器端保存的文件联系上呢?怎么才能联系上,请指教,多谢了,问题解决马上给分,不够的话可以再加,再次感谢!!
我的代码如下:
<%
String url = "jdbc:odbc:pypdw";
String driver = "sun.jdbc.odbc.JdbcOdbcDriver";
String user = "";
String pwd = "";
try {
Class.forName(driver);
Connection conn=DriverManager.getConnection(url,user,pwd);
Statement stmt =conn.createStatement();
String q="select * from BDZ_Info_Table";
ResultSet rs =stmt.executeQuery(q);FileOutputStream fos = new FileOutputStream("d:\\test.xls");
HSSFWorkbook wb = new HSSFWorkbook();
HSSFSheet s = wb.createSheet();
wb.setSheetName(0, "first sheet", HSSFWorkbook.ENCODING_UTF_16);
for(short i=0; i<50; i++) {
HSSFRow row = s.createRow(i);
for(short j=0; j<50;j++) {
HSSFCell cell=row.createCell(j);
}
}
short n=0;
short m=0;
while(rs.next()){
short m1=(short)(m+1);
String ss0=rs.getString(1);
String ss1 =rs.getString(2);
String ss2=rs.getString(3);
HSSFRow row= s.getRow(n);
HSSFCell cell=row.getCell(m);
cell.setEncoding((short)1);
cell.setCellValue(ss0);
cell=row.getCell(m1);
cell.setEncoding((short)1);
cell.setCellValue(ss1);
n++;
}
wb.write(fos);
fos.close(); response.setContentType("application/vnd.ms-excel");
response.setHeader("Content-Disposition","attachment;filename=\""+"d:\\test.xls"+"\"");rs.close();
stmt.close();
conn.close();
}
fileInputStream.close();
out.close(); }
catch (Exception e) {
e.printStackTrace();
} %>
response.setContentType("application/vnd.ms-excel");
response.setHeader("Content-Disposition","attachment;filename=\""+"d:\\test.xls"+"\"");
请高手们看看我的程序是不是没有和服务器端保存的文件联系上呢?怎么才能联系上,请指教,多谢了,问题解决马上给分,不够的话可以再加,再次感谢!!
我的代码如下:
<%
String url = "jdbc:odbc:pypdw";
String driver = "sun.jdbc.odbc.JdbcOdbcDriver";
String user = "";
String pwd = "";
try {
Class.forName(driver);
Connection conn=DriverManager.getConnection(url,user,pwd);
Statement stmt =conn.createStatement();
String q="select * from BDZ_Info_Table";
ResultSet rs =stmt.executeQuery(q);FileOutputStream fos = new FileOutputStream("d:\\test.xls");
HSSFWorkbook wb = new HSSFWorkbook();
HSSFSheet s = wb.createSheet();
wb.setSheetName(0, "first sheet", HSSFWorkbook.ENCODING_UTF_16);
for(short i=0; i<50; i++) {
HSSFRow row = s.createRow(i);
for(short j=0; j<50;j++) {
HSSFCell cell=row.createCell(j);
}
}
short n=0;
short m=0;
while(rs.next()){
short m1=(short)(m+1);
String ss0=rs.getString(1);
String ss1 =rs.getString(2);
String ss2=rs.getString(3);
HSSFRow row= s.getRow(n);
HSSFCell cell=row.getCell(m);
cell.setEncoding((short)1);
cell.setCellValue(ss0);
cell=row.getCell(m1);
cell.setEncoding((short)1);
cell.setCellValue(ss1);
n++;
}
wb.write(fos);
fos.close(); response.setContentType("application/vnd.ms-excel");
response.setHeader("Content-Disposition","attachment;filename=\""+"d:\\test.xls"+"\"");rs.close();
stmt.close();
conn.close();
}
fileInputStream.close();
out.close(); }
catch (Exception e) {
e.printStackTrace();
} %>
如
while(rs.next()){
out.write(rs.getString());
response.setHeader("Content-disposition",toUtf8String(filename));
response.getWriter().write(文档对象.toString());