1,返回pdf关键代码

    /**
* @todo
* @param
* @date 2019年3月8日
* @author yanan
*/
@RequestMapping("/getPdf")
public void getPdf(HttpServletRequest req, HttpServletResponse response)throws Exception {
response.setContentType("application/pdf"); // 设置返回内容格式
try {
String pdfPath="放置你的指定pdf文件路径";
// 判断该路径下的文件是否存在
File file = new File(pdfPath);
if (file.exists()) {
DataOutputStream temps = new DataOutputStream(response.getOutputStream());
DataInputStream in = new DataInputStream(new FileInputStream(pdfPath));
byte[] b = new byte[2048];
while ((in.read(b)) != -1) {
temps.write(b);
temps.flush();
}
in.close();
temps.close();
} else {
System.out.println(" 文件不存在!");
} } catch (Exception e) {
logger.info(e.getMessage());
}
}

2,返回word关键代码

    /**
* @todo 导出word
* @param
* @date 2019年3月8日
* @author yanan
*/
@RequestMapping(value="/exportWord",method=RequestMethod.POST)
public void exportWord(HttpServletResponse response,HttpServletRequest req) throws IOException{
response.setContentType("application/doc"); // 设置返回内容格式
response.setHeader("Content-disposition","attachment; filename="+new String("你的文件名称".getBytes("utf-8"), "8859_1"));
DataOutputStream temps = new DataOutputStream(response.getOutputStream());
temps.write("你的文件内容".getBytes());
temps.flush();
temps.close();
}

3,返回excel关键代码

    /**
* @todo 导出excel
* @param tableHtml 要导出的table表格示例:<table><tr><td>aaa</td></tr></table>
* @param fileName 要导出的文件名
* @date 2019年3月8日
* @author yanan
*/
@RequestMapping(value="/exportExcel",method=RequestMethod.POST)
public void export(HttpServletResponse response,String tableHtml,String fileName,HttpServletRequest req) throws IOException{
String cssStyle = req.getParameter("cssStyle");//样式
cssStyle=cssStyle==null?"":cssStyle;
exportDataExcel(response, tableHtml, fileName,cssStyle);
}
private static void exportDataExcel(HttpServletResponse response, String tableHtml, String fileName,String cssStyle) throws IOException {
response.setCharacterEncoding("UTF-8");
//返回头设置文件名。Content-Disposition参数本来是为了在客户端另存文件时提供一个建议的文件名,但是考虑到安全的原因,就从规范中去掉了这个参数。
//但是由于很多浏览器已经能够支持这个参数,所以只是在规范文档中列出,但是要注意这个不是HTTP/1.1的标准参数。
//若不用java.net.URLEncoder.encode,则中文文件名乱码无法显示(英文部分不影响)
response.setHeader("Content-Disposition", "attachment; filename=" + java.net.URLEncoder.encode(fileName+".xls", "UTF-8"));
//返回内容为excel
response.setContentType("application/ms-excel;charset=UTF-8");
PrintWriter out = response.getWriter();;
tableHtml=String.format("<style type='text/css'>%s</style>%s", cssStyle, tableHtml);
out.print(tableHtml);
out.close();
}

利用poi导出,移步我之前的文章@java利用poi生成/读取excel表格

jsp请求java返回pdf、excel与word的更多相关文章

  1. 12、借助Jacob实现Java打印报表(Excel、Word)

    12.使用Jacob来处理文档 Word或Excel程序是以一种COM组件形式存在的.如果能够在Java中调用相应组件,便能使用它的方法来获取文档中的文本信息.Jacob是一个JAVA到微软的COM接 ...

  2. java将pdf文件转为word

    import java.io.File;import java.io.FileOutputStream;import java.io.IOException;import java.io.Output ...

  3. Java 将PDF/XPS转为Word/html /SVG/PS/PCL/PNG、PDF和XPS互转(基于Spire.Cloud.SDK for Java)

    Spire.Cloud.SDK for Java提供了接口PdfConvertApi通过convert()方法将PDF文档以及XPS文档转为指定文档格式,如转PDF为Word(支持Docx.Doc). ...

  4. 从jsp到java文件再返回到前台页面的过程

    客户端请求jsp页面总共分为三个阶段: <%@ page language="java" contentType="text/html; charset=utf-8 ...

  5. .net mvc使用FlexPaper插件实现在线预览PDF,EXCEL,WORD的方法

    FlexPaper插件可以实现在浏览器中在线预览pdf,word,excel等. 在网上看到很多关于这个插件实现预览的技术,但是很难做到word和excel在线预览. pdf很好实现. 首先下载相关的 ...

  6. Java实现PDF和Excel生成和数据动态插入以及导出

    一.序言 Excel.PDF的导出.导入是我们工作中经常遇到的一个问题,刚好今天公司业务遇到了这个问题,顺便记个笔记以防下次遇到相同的问题而束手无策. 公司有这么两个需求: 需求一.给了一个表单,让把 ...

  7. JAVA实现office文档(word、excel、ppt等)、压缩包在线预览,支持禁止下载功能、支持PC和手机

    我们使用的是永中的第三方服务.支持直接转换文档的线上地址,也可以直接把文档上传到官方服务器上 官方文档地址:https://www.yozodcs.com/page/help.html#link152 ...

  8. java使用poi读取ppt文件和poi读取excel、word示例

    java使用poi读取ppt文件和poi读取excel.word示例 http://www.jb51.net/article/48092.htm

  9. Java中用Apache POI生成excel和word文档

    概述: 近期在做项目的过程中遇到了excel的数据导出和word的图文表报告的导出功能.最后决定用Apache POI来完毕该项功能.本文就项目实现过程中的一些思路与代码与大家共享.同一时候.也作为自 ...

随机推荐

  1. ionic2 调用 cordova非本地化native 插件方法

    1,在项目中添加你的插件     cordova plugin add puginId|puginName|puginUrl|puginPath 2,查看插件clobbers标记 打开项目目录plug ...

  2. rabbit原理及项目应用

    1.rabbitMQ是什么? mq是由erlang语言开发的开源的amqp的实现. 2.rabbitMQ的基本原理是什么? 使用RabbitMQ,首先需要与rabbitMQ的visiu host建立连 ...

  3. 02-Tomcat服务器安装

    由于使用的是解压绿色版,所以解压就可以使用,如下图显示 启动成功

  4. DB2调优摘要

    感谢原博主 http://yishueitian326.blog.163.com/blog/static/2858637520106695733719/ 性 能是关系到随需应变型应用程序成功与否的关键 ...

  5. Win10和Ubuntu双系统搭建详

    最近学习云计算时,需要搭建xen和Hadoop,虚拟机容易出很多问题所以搭建了双系统,也方便以后的学习. 下面是详细搭建过程: 准备材料: U盘(容量>8G,最好是3.0接口速度快).Ultra ...

  6. 用matplotlib.pyplot画简单的折线图,直方图,散点图

    #coding=utf-8 """ 用matplotlib.pyplot画简单的折线图,直方图,散点图 """ import matplot ...

  7. Hexo+Github博客最简教程-Dockerfile自动搭建

    闲谈 拿出你的气质,打开你的电脑,借你半小时搭建好属于你的hexo博客,小生用dockerfile自动帮你搭建好:你只需要在你的mac或linux或windows上提前把docker安装好,如何安装不 ...

  8. 【Java基础】While循环详解

    循环结构分两大类,一类是当型,一类是直到型. 当型: 当布尔值表达式条件为True时,反复执行某语句,当布尔表达式的值为False时才停止循环,例如:while 与 for循环. 直到型: 先执行某语 ...

  9. 关于c# Debug和Release的区别 (转)

    关于Debug和Release的区别之讨论本文主要包含如下内容: 1. Debug 和 Release 编译方式的本质区别2. 哪些情况下 Release 版会出错2. 怎样“调试” Release ...

  10. gitlab api 使用

    api文档:https://docs.gitlab.com/ee/api/projects.html#project-visibility-level 1.项目查询 http://127.0.0.1: ...