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. jquery fileupload

    jquery file upload示例  https://blog.csdn.net/qq_37936542/article/details/79258158

  2. C语言编程漫谈——main函数

    写在前面 促使我写这篇文章是因为我这几天找了几个一样是大三的同学,与我相同专业相同方向(物联网)的人,除了@小胡同的诗,基本没有什么其他人会现在看起来很简单的编程题目了.问了一下其他同学,他们大部分都 ...

  3. Flask即插视图与tornado比较

    由于公司使用了Tornado框架和Flask框架,之前一直使用的都是Flask框架,已经对url下面紧跟着视图的写法很固执.刚开始接触Tornado框架,对于其url和视图分开的写法思想上无法转变.今 ...

  4. url编码乱码问题解决

    //url encodeURI加密 window.location.href = "upload.html?sendName="+encodeURI(sendName); //接收 ...

  5. 删除链表的倒数第N个节点

    题目描述: 给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点. 示例: 给定一个链表: 1->2->3->4->5, 和 n = 2. 当删除了倒数第二个节点后 ...

  6. HttpClient 302重定向

    CloseableHttpClient是线程安全的,单个实例可用于处理多个HTTP请求,Http Client会自动处理所有的重定向,关闭自动重定向需要设定disableAutomaticRetrie ...

  7. redis-python

    一:缓存数据库介绍 NoSQL(NoSQL = Not Only SQL ),意即“不仅仅是SQL”,泛指非关系型的数据库,随着互联网web2.0网站的兴起,传统的关系数据库在应付web2.0网站,特 ...

  8. 11Linux_sshd_Apache

    1.Linux系统中一切都是文件. 2.配置服务实际上就是在修改配置文件. 3.重启相应服务来加载最新的配置参数. 4.为了保证下次还生效,加入到开机启动项中.

  9. Ubuntu下安装pytorch(GPU版)

    我这里主要参考了:https://blog.csdn.net/yimingsilence/article/details/79631567 并根据自己在安装中遇到的情况做了一些改动. 先说明一下我的U ...

  10. __proto__、prototype和原型对象

    一.__proto__ 对象内部存在一个指针,用来指向上一层函数的原型对象.ECMA-262第五版中关这个指针叫[[prototype]],但Firefox.Safari和Chrome在每个对象上都支 ...