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. 数据帧、MTU、MSS、IP分片

    1.以太网帧 在以太网链路上的数据包称作以太帧,在802.3标准里,规定了一个以太帧的数据部分(Payload)的最大长度是1500个字节(MTU),再加上14字节链路头和4字节的FCS,所以以太网帧 ...

  2. 01-使用eclipse新建一个标准的 java web项目

    1.使用eclipse创建个普通的Java SE项目  名称:CRM java web标准目录结构 crm WEB-INF classes lib web.xml 设置项目字节码输出目录

  3. 傻瓜学编程之block_2

    block的实质 以一个简单的实现为列子: - (void)myBlcokTest{ void (^blk)()=^{ printf(@“beijinghuanyingni”); }; blk(); ...

  4. Ubuntu下安装Snap

    介绍 Snap是一个全新的软件包架构,它与其它包管理器的区别在于snap安装的app互相之间是高度隔离的,减少了互相引用. 避免了很多冲突问题. 不过这也导致了其占用的磁盘比较多. 安装 apt in ...

  5. 随手用JQ写个选项卡

    <div class="box"> <ul> <li class="one">选项卡1</li> <li& ...

  6. liunx vi 学习

    vi有两种状态:命令态和编辑态 命令态中常用的命令: 上下左右移动的处理4个箭头外还有h(左),j(下),k(上),l(右) 调到屏幕显示的首行H,尾行L,x行:xG 0将光标移动到行首:$到行尾,M ...

  7. Python数据类型的内置函数之tuple(元组),dict(字典),set(集合)

    Python数据类型内置函数 - str(字符串) - list(列表) - tuple(元组) - dict(字典) - set(收集) tuple(元组)的操作 - (count)统计元组中元素出 ...

  8. 类名:IExternalCommandAvailability+IExternalCommand实现对某些控件的自定义使用

    起初对于这些名词不懂,后经查阅了解如下,希望对学习者能有所帮助.在Revil里大部分命令在没有打开文档的时候是禁用的,有的在没有打开文档也是可以使用的.而又一些在平面视图是禁用的如标高,有的在3D视图 ...

  9. S表示1,L表示2,计算由S和L组成的序列之和为N的组合

    def func(n): def calc_str(s): s = s.strip() if s is not None else "" s = s.upper() result ...

  10. 72.纯 CSS 创作气泡填色的按钮特效

    原文地址:https://segmentfault.com/a/1190000015560736 感想:过渡效果+xyz中一轴. HTML code: <nav> <ul> & ...