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

本文目录一览:

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

以上代码来自网络:

原创文章,作者:KRTSE,如若转载,请注明出处:https://www.506064.com/n/128658.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
KRTSEKRTSE
上一篇 2024-10-03 23:25
下一篇 2024-10-03 23:25

相关推荐

  • Java JsonPath 效率优化指南

    本篇文章将深入探讨Java JsonPath的效率问题,并提供一些优化方案。 一、JsonPath 简介 JsonPath是一个可用于从JSON数据中获取信息的库。它提供了一种DS…

    编程 2025-04-29
  • java client.getacsresponse 编译报错解决方法

    java client.getacsresponse 编译报错是Java编程过程中常见的错误,常见的原因是代码的语法错误、类库依赖问题和编译环境的配置问题。下面将从多个方面进行分析…

    编程 2025-04-29
  • Python程序需要编译才能执行

    Python 被广泛应用于数据分析、人工智能、科学计算等领域,它的灵活性和简单易学的性质使得越来越多的人喜欢使用 Python 进行编程。然而,在 Python 中程序执行的方式不…

    编程 2025-04-29
  • Java腾讯云音视频对接

    本文旨在从多个方面详细阐述Java腾讯云音视频对接,提供完整的代码示例。 一、腾讯云音视频介绍 腾讯云音视频服务(Cloud Tencent Real-Time Communica…

    编程 2025-04-29
  • Java Bean加载过程

    Java Bean加载过程涉及到类加载器、反射机制和Java虚拟机的执行过程。在本文中,将从这三个方面详细阐述Java Bean加载的过程。 一、类加载器 类加载器是Java虚拟机…

    编程 2025-04-29
  • python强行终止程序快捷键

    本文将从多个方面对python强行终止程序快捷键进行详细阐述,并提供相应代码示例。 一、Ctrl+C快捷键 Ctrl+C快捷键是在终端中经常用来强行终止运行的程序。当你在终端中运行…

    编程 2025-04-29
  • Java Milvus SearchParam withoutFields用法介绍

    本文将详细介绍Java Milvus SearchParam withoutFields的相关知识和用法。 一、什么是Java Milvus SearchParam without…

    编程 2025-04-29
  • Python程序文件的拓展

    Python是一门功能丰富、易于学习、可读性高的编程语言。Python程序文件通常以.py为文件拓展名,被广泛应用于各种领域,包括Web开发、机器学习、科学计算等。为了更好地发挥P…

    编程 2025-04-29
  • Java 8中某一周的周一

    Java 8是Java语言中的一个版本,于2014年3月18日发布。本文将从多个方面对Java 8中某一周的周一进行详细的阐述。 一、数组处理 Java 8新特性之一是Stream…

    编程 2025-04-29
  • Java判断字符串是否存在多个

    本文将从以下几个方面详细阐述如何使用Java判断一个字符串中是否存在多个指定字符: 一、字符串遍历 字符串是Java编程中非常重要的一种数据类型。要判断字符串中是否存在多个指定字符…

    编程 2025-04-29

发表回复

登录后才能评论