• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    jsp实现从服务器下载xls文件到客户端的方法

    本文实例讲述了jsp实现从服务器下载xls文件到客户端的方法。分享给大家供大家参考,具体如下:

    参考网上的代码写了一个下载xls文件到客户端的jsp页面,只要将服务器的文件地址传给这个jsp页面就可以实现下载文件到客户端了。

    %@ page language="java"import="java.util.*"pageEncoding="utf-8"%>
    %@ taglib prefix="c"uri="http://java.sun.com/jsp/jstl/core"%>
    %@ page import="java.io.*" %>
    !DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    html xmlns="http://www.w3.org/1999/xhtml">
    head>
    meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    link href="styles/basic.css" rel="stylesheet" type="text/css" />
    title>download/title>
    /head>
    %
    response.setCharacterEncoding("gb2312");
    request.setCharacterEncoding("gb2312");
    if (request.getParameter("file") != null) {
    OutputStream os = null;
    FileInputStream fis = null;
    try {
    String file = request.getParameter("file");
    if (!(new File(file)).exists()) {
    System.out.println("没有文件");
    return;
    }
    System.out.println("文件名为:"+file);
    os = response.getOutputStream();
    response.setHeader("content-disposition", "attachment;filename=" + file);
    response.setContentType("application/vnd.ms-excel");//此项内容随文件类型而异
    byte temp[] = new byte[1000];
    fis = new FileInputStream(file);
    int n = 0;
    while ((n = fis.read(temp)) != -1) {
    os.write(temp, 0, n);
    }
    } catch (Exception e) {
    out.print("出错");
    } finally {
    if (os != null)
    os.close();
    if (fis != null)
    fis.close();
    }
    out.clear();
    out = pageContext.pushBody();
    }
    %>
    form action="" method="post">
    select name="file">
    option value="D:\Program Files\apache-tomcat-6.0.18\webapps\StarAttendance\upload/temp.xls">
    冷山sky_snow
    /option>
    /select>
    input type="submit"/>
    /form>
    /html>
    
    
    %@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
    %@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
    %@ page import="java.io.*" %>
    !DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    html xmlns="http://www.w3.org/1999/xhtml">
    head>
        meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        link href="styles/basic.css" rel="stylesheet" type="text/css" />
        title>download/title>
    /head>
    %
       response.setCharacterEncoding("gb2312");
       request.setCharacterEncoding("gb2312");
       if (request.getParameter("file") != null) {
         OutputStream os = null;
         FileInputStream fis = null;
        try {
           String file = request.getParameter("file");
          if (!(new File(file)).exists()) {
             System.out.println("没有文件");
            return;
           }
           System.out.println("文件名为:"+file);
           os = response.getOutputStream();
           response.setHeader("content-disposition", "attachment;filename=" + file);
           response.setContentType("application/vnd.ms-excel");//此项内容随文件类型而异
          byte temp[] = new byte[1000];
           fis = new FileInputStream(file);
          int n = 0;
          while ((n = fis.read(temp)) != -1) {
             os.write(temp, 0, n);
           }
         } catch (Exception e) {
           out.print("出错");
         } finally {
          if (os != null)
             os.close();
          if (fis != null)
             fis.close();
         }
         out.clear();
         out = pageContext.pushBody();
       }
    %>
    form action="" method="post">
       select name="file">
         option value="D:\Program Files\apache-tomcat-6.0.18\webapps\StarAttendance\upload/temp.xls">
           冷山sky_snow
         /option>
       /select>
       input type="submit"/>
    /form>  
    /html>
    
    

    2.另外一个修改后的版本(下载文件名可包含中文)

    %@ page language="java"import="java.util.*,java.net.*"pageEncoding="utf-8"%>
    %@ taglib prefix="c"uri="http://java.sun.com/jsp/jstl/core"%>
    %@ page import="java.io.*" %>
    !DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    html xmlns="http://www.w3.org/1999/xhtml">
    head>
    meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    link href="styles/basic.css" rel="stylesheet" type="text/css" />
    title>download/title>
    /head>
    %
    response.setCharacterEncoding("UTF-8");
    request.setCharacterEncoding("UTF-8");
    String filepath = new String(request.getParameter("file").getBytes("ISO-8859-1"),"UTF-8");
    System.out.println("============================"+filepath);
    if (filepath != null) {
    OutputStream os = null;
    FileInputStream fis = null;
    try {
    String file = filepath;
    if (!(new File(file)).exists()) {
    System.out.println("没有文件");
    return;
    }
    String filefilename = file.substring(file.lastIndexOf("\\")+1);
    System.out.println("文件名为:"+filename);
    os = response.getOutputStream();
    response.setHeader("content-disposition", "attachment;filename=" + new String(filename.getBytes("GBK"), "ISO-8859-1"));
    response.setContentType("application/octet-stream");//八进制流 与文件类型无关
    byte temp[] = new byte[1024];
    fis = new FileInputStream(file);
    int n = 0;
    while ((n = fis.read(temp)) != -1) {
    os.write(temp, 0, n);
    }
    } catch (Exception e) {
    out.print("出错了");
    } finally {
    if (os != null)
    os.close();
    if (fis != null)
    fis.close();
    }
    out.clear();
    out = pageContext.pushBody();
    }
    %>
    /html>
    
    

    希望本文所述对大家JSP程序设计有所帮助。

    您可能感兴趣的文章:
    • JSP如何获取客户端真实IP地址
    • JSP自定义标签获取用户IP地址的方法
    • JSP 获取真实IP地址的代码
    • JSP入门教程之客户端验证、常用输出方式及JSTL基本用法
    • JSP中实现判断客户端手机类型并跳转到app下载页面
    • jsp 获取客户端的浏览器和操作系统信息
    • 使用JSP读取客户端信息
    • jsp获取客户端IP地址的方法
    上一篇:JSP生成WORD文档,EXCEL文档及PDF文档的方法
    下一篇:JSP中隐式对象用法实例
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    jsp实现从服务器下载xls文件到客户端的方法 jsp,实现,从,服务器,下载,