首页 > 编程知识 正文

java导出execl并下载(java程序导出exe)

时间:2023-11-27 14:11:07 阅读:309563 作者:AXRY

本文目录一览:

  • 1、java : 一个excel文件以二进制的形式存在数据库中 如何将它导出并下载到本地
  • 2、java 将页面内容写入excel文件中并可以将其下载到本地任意位置
  • 3、java如何将导出的excel下载到客户端

java : 一个excel文件以二进制的形式存在数据库中 如何将它导出并下载到本地

从数据库中得到Blob/Clob,然后得到InputStream,直接给response.getOutputStream() 输出就可以

java 将页面内容写入excel文件中并可以将其下载到本地任意位置

java本身要生成excel文件必然是在后台做的,通过poi库生成excel文件并制作表格。

无法直接通过网页保存生成excel。

至于下载到本地任意位置,也是后台生成了excel文件发送到前台(浏览器),由用户选择要存在哪儿,不能直接存储(这是web沙箱限制,不允许网页直接访问本地硬盘,不然你想想,如果你打开一个网页,网页代码可以任意访问你的硬盘,你还敢开网页吗)。

要绕过沙箱限制必须装插件,也就是,你必须开发一个com或plugin插件,可以访问本地硬盘,但这需要用户手工安装(比如flash的插件,你之所以能用网页看flash是因为装了它的插件,但这是你手工装的,它不能绕过你直接给你装,它必须询问你行不行,你要手工点了OK,才能装)

java如何将导出的excel下载到客户端

package com.mr;

 

import java.io.IOException;

import java.io.PrintWriter;

 

import javax.servlet.ServletException;

import javax.servlet.ServletOutputStream;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

/**

 * 利用Servlet导出Excel

 * @author CHUNBIN

 *

 */

public class ExportExcelServlet extends HttpServlet {

      

       public void doGet(HttpServletRequest request, HttpServletResponse response)

                     throws ServletException, IOException {

              doPost(request, response);

       }

 

       public void doPost(HttpServletRequest request, HttpServletResponse response)

                     throws ServletException, IOException {

              request.setCharacterEncoding("UTF-8");//设置request的编码方式,防止中文乱码

              String fileName ="导出数据";//设置导出的文件名称

              StringBuffer sb = new StringBuffer(request.getParameter("tableInfo"));//将表格信息放入内存

              String contentType = "application/vnd.ms-excel";//定义导出文件的格式的字符串

              String recommendedName = new String(fileName.getBytes(),"iso_8859_1");//设置文件名称的编码格式

              response.setContentType(contentType);//设置导出文件格式

              response.setHeader("Content-Disposition", "attachment; filename=" + recommendedName + """);//

              response.resetBuffer();

              //利用输出输入流导出文件

              ServletOutputStream sos = response.getOutputStream();

              sos.write(sb.toString().getBytes());

              sos.flush();

              sos.close();

       }

}

%@ page language="java" contentType="text/html; charset=UTF-8"

    pageEncoding="UTF-8"%

!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" ""

html

head

meta http-equiv="Content-Type" content="text/html; charset=UTF-8"

title导出Excel/title

script type="text/javascript"

    function test(){

       document.getElementById("tableInfo").value=document.getElementById("table").innerHTML;

    }

/script

style

    body{font-family:宋体;font-size:11pt}

/style

/head

body

form action="%=request.getContextPath()%/servlet/ExportExcelServlet" method="post"

    span id="table"

    table bgcolor="#EEECF2" bordercolor="#A3B2CC" border="1" cellspacing="0"

       trth学号/thth姓名/thth科目/thth分数/th/tr

       trtd10001/tdtd赵二/tdtd高数/tdtd82/td/tr

       trtd10002/tdtd张三/tdtd高数/tdtd94/td/tr

       trtd10001/tdtd赵二/tdtd线数/tdtd77/td/tr

       trtd10002/tdtd张三/tdtd线数/tdtd61/td/tr

    /table

    /spanbr/

    input type="submit" name="Excel" value="导出表格" onclick="test()"/

    input type="hidden" id="tableInfo" name="tableInfo" value=""/

/form

/body

/html

以上代码来自网络:

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。