导出方式将word中的模板另存为xml形式,再将xml代码拷入jsp页面,其中项目中的图片上传保存在tomcat中
方法:获取图片的路径从而得到图片,再将图片装换成base64码,再在刚才的jsp页面${images}即可
1.在word模板中先插入一张图片,再将生成的xml代码放到ExportWord.jsp中,将刚才插入的图片的base64码(就是很多那个十六进制的东西)去掉,再在该jsp的顶部加上
<%@page contentType="application/msword; charset=UTF-8"%><%@ taglib
prefix="s" uri="/struts-tags"%><%response.addHeader("Content-Disposition",
"attachment;filename="+request.getAttribute("strExpFileName")+".doc");%><?xml version="1.0" encoding="UTF-8" standalone="yes"?>
注:此处代码最好原封不动的,不要给它换行或者调换代码位置,因为如果此处甚至一换行都有可能到时候导出时word提示有错误,我之前特意试过,至于原因自己也不知道
2.后台代码
将将图片转成base64码的方法
/**
* 将图片转成base64码
* @return
*/
public static String getImageBinary(String imagepath) {
File f = new File(imagepath);
BufferedImage bi;
try {
bi = ImageIO.read(f);
ByteArrayOutputStream baos = new ByteArrayOutputStream();
ImageIO.write(bi, "jpg", baos);
byte[] bytes = baos.toByteArray();
return encoder.encodeBuffer(bytes).trim();
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
调用该方法
//通过一系列方法通过tomcat获取你想要图片的路径,例如下面是方法之一
ServletActionContext.getServletContext().getRealPath("此处写上图片存储的路径")
//现在如果已经取到了你想要的图片的路径saveFilePath。例如
saveFilePath="C:\Program Files\.....\abcd.png";
//将“\”换成“\\”,调用getImageBinary方法时得是“\\”
saveFilePath=saveFilePath.replace("\\", "\\\\");
StringBuilder str=new StringBuilder();
//取得图片的base64码
str.append(getImageBinary(saveFilePath));
images=str.toString();//images就是图片的base64码
//此处的strExpFileName就是ExportWord.jsp中上面的变量名
strExpFileName=new String("导出图片".getBytes("GB2312"), "8859_1");
3.在ExportWord.jsp中刚才去掉base64码的位置加上
${images}
分享到:
相关推荐
在Java编程中,将图片导出到Word文档是一项常见的任务,尤其在自动化报告生成或数据可视化等场景下。本文将详细介绍如何使用Java实现这一功能,包括必要的库、步骤以及可能出现的问题。 首先,我们需要一个能够处理...
在Java应用中,使用FreeMarker导出Word文档可以提供灵活的文本和数据结合的方式,尤其适用于生成报告、合同等复杂格式的文档。本篇将详细介绍如何使用FreeMarker与Java结合来导出包含多张图片的Word文档。 1. **...
在Java编程环境中,导出Word文档并插入图片是一项常见的任务,尤其在自动化报告生成、数据可视化或文档处理的场景中。下面将详细讲解如何使用Java实现这个功能。 首先,我们需要一个能够操作Word文档的库。Apache ...
最近因项目开发的需要,整理了一份用JAVA导出WORD文档,其部署步骤如下: 1、将jacob-1.14.3-x86.dll放在服务器的系统盘(或运行本机的系统):\WINDOWS\system32目录下。 2、将jacob-1.14.3-x86.dll放在JDK 的 bin ...
首先,Java导出Word文件通常有两种方式:一是使用Apache POI库,二是使用JODConverter库。Apache POI是广泛使用的开源库,它允许Java程序员创建、修改和显示Microsoft Office格式的文件,包括Word(.doc和.docx)。...
标签中的"java导出word文档"、"jacob word导出"和"word导出图"暗示了这个项目可能还涵盖了在Word文档中插入图片的功能。使用Jacob,可以调用Word的API来插入图片,如下所示: ```java // 获取当前活动文档的Body...
java导出word使用freemarker模板map数据导出word带图片 可以循环map 中list。 调用的2种方法在博客 https://blog.csdn.net/yjflinchong/article/details/122614203
在Java编程中,导出Excel、Word和PDF是常见的数据呈现和报告生成需求。这些文件格式广泛用于数据存储、报表生成、文档分享等场景。以下将详细介绍如何使用Java实现这三种文件类型的导出。 首先,让我们关注Excel的...
Java POI导出图片到Excel示例代码详解 Java POI是Java开发中常用的开源库,用于读写Microsoft Office文件格式,包括Excel、Word、PowerPoint等。今天,我们将介绍如何使用Java POI将图片导出到Excel中。 标题解释 ...
Java使用Apache POI库导出Word文档是一种常见的技术实践,特别是在企业级应用中,用于生成报告、合同或者自定义的数据输出。Apache POI是Apache软件基金会的一个开源项目,它提供了处理Microsoft Office格式(如Word...
在Java开发中,导出Word文档是一项常见的任务,尤其在生成报表、报告或者合同等场合。本文将探讨如何使用Java高效地实现Word文档导出,主要聚焦于利用XDocReport和FreeMarker模板引擎的方式。 首先,Java中导出Word...
java aspose word 上传到服务器 导出的word 中文字体乱码 的问题 java aspose java aspose word 上传到服务器 导出的word 中文字体乱码 的问题 java aspose java aspose word 上传到服务器 导出的word 中文字体乱码 ...
在Java编程环境中,导出Word文档是一项常见的任务,特别是在企业级应用中,如报表生成、文档自动化等场景。Apache POI库是Java开发者用来处理Microsoft Office格式文件(如Word、Excel)的一个强大工具,尤其在读取...
在"java poi导出word"这个场景中,我们主要关注的是如何使用Java POI来创建和编辑Word文档。下面将详细介绍如何利用Java POI实现这些功能,并提供一些关键知识点。 1. 文字与段落: 在Java POI中,我们可以使用...
在Java编程环境中,导出数据到PDF、Excel和Word格式是一项常见的需求,这通常涉及到文件处理和格式转换。以下是对这个主题的详细说明: 一、PDF(Portable Document Format)文件导出 PDF是一种通用的文件格式,...
java导出文件, freemarker导出word需要ftl文件,java导出Word常见问题。2.TXT修改后缀名为.ftl
网络上的根据模板填充Word我都看过一些, 它们的功能在数据换行的时候用的是run对象的.addCarriageReturn()方法,或者是直接用\n实现换行。这些都不符合我的需求, 因为我要的是分段,而不是换行。换行的word导致另一...
Java 导出Word文档是一项常见的任务,特别是在企业级应用中,比如报告生成、合同模板等。本教程将重点介绍如何利用Freemarker技术实现这一功能,特别是如何将Word模板转化为可编程填充的数据模板。 首先,让我们...
基于破解版aspose.words实现复杂word填充,最近有做一个案例,能够实现多个不同章节、自定义水印、自定义页码、目录等的自动...初步调试,导出3千多页的word文档,耗时大概20分钟。有需要示例代码可以私聊,一起探讨。
首先,我们需要理解Java中导出Word文档的主要库Apache POI。Apache POI是Java社区中广泛采用的API,它允许程序员创建、修改和显示Microsoft Office格式的文件,包括Word(.docx)、Excel(.xlsx)和PowerPoint(....