用户登录
用户注册

分享至

java导出图片到word java导出word表格

  • 作者: 灑脫-cola
  • 来源: 51数据库
  • 2020-04-20

首先我用的技术是 poi

这是代码,一个工具类得调用

public class WordUtil {

/**

* 基于模板文件导出 word 文档,此方法主要是用来处理文档中需要替换的文本内容,对图片和表格无效

*

* @param templatePath

* 模板文件的路径,要求路径中要包含全名,并且模板文件只能是 07 及以上格式,即 docx 的文件

* @param destFilePath

* 导出文件的存放路径,包含文件名,例如,E:/test/小区公告.docx

* @param data

* 用来替换文档中预定义的字符串,要求预定义的字符串与 data 中的 key 值要相同

*/

public static void exportWordByTemplate(String templatePath,

String destFilePath, Map<String, String> data) {

FileOutputStream out = null;

XWPFDocument doc = null;

try {

doc = new XWPFDocument(POIXMLDocument.openPackage(templatePath));

List<XWPFRun> listRun;

List<XWPFParagraph> listParagraphs = doc.getParagraphs();

for (int i = 0; i < listParagraphs.size(); i++) {

listRun = listParagraphs.get(i).getRuns();

for (int j = 0; j < listRun.size(); j++) {

if (data.get(listRun.get(j).getText(0)) != null) {

String val = data.get(listRun.get(j).getText(0));

listRun.get(j).setText(val, 0);

}

}

}

File destFile = new File(destFilePath);

if (!destFile.getParentFile().exists()) {

destFile.getParentFile().mkdirs();

}

out = new FileOutputStream(destFilePath);

doc.write(out);

} catch (IOException e) {

e.printStackTrace();

} finally {

try {

if (out != null)

out.close();

} catch (IOException e) {

e.printStackTrace();

}

}

}

/**

* 基于模板文件导出 word 文档,该方法支持03格式,但是此方法只能保留文档内容,不能保留文档中的样式和图片,建议将模板使用 07 的格式保存

*

* @param templatePath

* 模板文件的路径

* @param destFilePath

* 导出文件的存放路径,包含文件名,例如,E:/test/小区公告.doc

* @param data

* 用来替换文档中预定义的字符串,要求预定义的字符串与 data 中的 key 值要相同

*/

public static void export03WordByTemplate(String templatePath,

String destFilePath, Map<String, String> data) {

try {

WordExtractor doc = new WordExtractor(new FileInputStream(

templatePath));

String content = doc.getText();

for (String key : data.keySet()) {

content = content.replaceAll(key, data.get(key));

}

byte b[] = content.getBytes();

ByteArrayInputStream bais = new ByteArrayInputStream(b);

POIFSFileSystem fs = new POIFSFileSystem();

DirectoryEntry directory = fs.getRoot();

directory.createDocument("WordDocument", bais);

FileOutputStream ostream = new FileOutputStream(destFilePath);

fs.writeFilesystem(ostream);

bais.close();

ostream.close();

} catch (FileNotFoundException e) {

e.printStackTrace();

} catch (IOException e) {

e.printStackTrace();

}

}

public static void main(String[] args) throws Exception {

Map<String, String> maps = new HashMap<String, String>();

maps.put("appellation", "万达公寓业主:");

maps.put(

"main_body",

"输出的内容");

maps.put("date", "2013年1月23日");

exportWordByTemplate("E:/sss 2.docx", "E:/test/test.doc", maps);

}

}

"E:/sss 2.docx 模板存放的地址。

E:/test/test.doc 新生成的地址。

阿帕奇的这个支持导PDF格式的吗

java中如何将有图片的页面导出成Word文档

http://blog.163.com/ask_rent@yeah/blog/static/139893663201102471721745/

可以参考一下

如何把页面内容导出为word? (Java)

目前主要是OFFICE03和07,都支持打开HTML格式的文档的,这个方法应该可行.

另外OFFICE源码是不公开的,所以不可能纯靠自己程序生成DOC,还是要靠OFFICE

java如何将flex界面中的饼图直接导出到word文档中

FLEX只是一个前台展现,它也是访问过后台数据库取得的数据才展现出来的。在FLEX页面上写一个按钮,调用后台JAVA去访问数据库取得相对的数据,然后用JAVA的方式导出成WORD文件。具体的需求还要看您了,反正核心是取得要的数据做JAVA导出,FLEX上就提供触发导出的操作而已

java poi导出word 可以设置格式吗

  1. 读取word 2003及word 2007需要的jar包

  2. 读取 2003 版本(.doc)的word文件相对来说比较简单,只需要 poi-3.5-beta6-.jar 和 poi-scratchpad-3.5-beta6-.jar 两个 jar 包即可, 而 2007 版本(.docx)就麻烦多,我说的这个麻烦不是我们写代码的时候麻烦,是要导入的 jar 包比较的多,有如下 7 个之多:

  3. 1. openxml4j-bin-beta.jar

  4. 2. poi-3.5-beta6-.jar

  5. 3. poi-ooxml-3.5-beta6-.jar

  6. 4 .dom4j-1.6.1.jar

  7. 5. geronimo-stax-api_1.0_spec-1.0.jar

  8. 6. ooxml-schemas-1.0.jar

  9. 7. xmlbeans-2.3.0.jar

  10. 其中 4-7 是 poi-ooxml-3.5-beta6-.jar 所依赖的 jar 包(在 poi-bin-3.5-beta6-.tar.gz 中的 ooxml-lib 目录下可以找到)。

  11. 2.换行符号

  12. 硬换行:文件中换行,如果是键盘中使用了"enter"的换行。

  13. 软换行:文件中一行的字符数容量有限,当字符数量超过一定值时,会自动切到下行显示。

  14. 对程序来说,硬换行才是可以识别的、确定的换行,软换行与字体大小、缩进有关。

  15. 3.读取的注意事项

  16. 值得注意的是: POI 在读取不会读取 word 文件中的图片信息; 还有就是对于 2007 版的 word(.docx), 如果 word 文件中有表格,所有表格中的数据都会在读取出来的字符串的最后。

  17. 4.读取word文本内容代码

1 import java.io.File;

2 import java.io.FileInputStream;

3 import java.io.InputStream;

4

5 import org.apache.poi.POIXMLDocument;

6 import org.apache.poi.POIXMLTextExtractor;

7 import org.apache.poi.hwpf.extractor.WordExtractor;

8 import org.apache.poi.openxml4j.opc.OPCPackage;

9 import org.apache.poi.xwpf.extractor.XWPFWordExtractor;

10

11 public class Test {

12 public static void main(String[] args) {

13 try {

14 InputStream is = new FileInputStream(new File("2003.doc"));

15 WordExtractor ex = new WordExtractor(is);

16 String text2003 = ex.getText();

17 System.out.println(text2003);

18

19 OPCPackage opcPackage = POIXMLDocument.openPackage("2007.docx");

20 POIXMLTextExtractor extractor = new XWPFWordExtractor(opcPackage);

21 String text2007 = extractor.getText();

22 System.out.println(text2007);

23

24 } catch (Exception e) {

25 e.printStackTrace();

26 }

27 }

28 }

怎么用java导出word文档

java导出word大致有6种解决方案:

1:Jacob是Java-COM Bridge的缩写,它在Java与微软的COM组件之间构建一座桥梁。使用Jacob自带的DLL动态链接库,并通过JNI的方式实现了在Java平台上对COM程序的调用。DLL动态链接库的生成需要windows平台的支持。该方案只能在windows平台实现,是其局限性。

2:Apache POI包括一系列的API,它们可以操作基于MicroSoft OLE 2 Compound Document Format的各种格式文件,可以通过这些API在Java中读写Excel、Word等文件。他的excel处理很强大,对于word还局限于读取,目前只能实现一些简单文件的操作,不能设置样式。

3:Java2word是一个在java程序中调用 MS Office Word 文档的组件(类库)。该组件提供了一组简单的接口,以便java程序调用他的服务操作Word 文档。 这些服务包括: 打开文档、新建文档、查找文字、替换文字,插入文字、插入图片、插入表格,在书签处插入文字、插入图片、插入表格等。填充数据到表格中读取表格数据 ,1.1版增强的功能: 指定文本样式,指定表格样式。如此,则可动态排版word文档。是一种不错的解决方案。

4:iText是著名的开放源码的站点sourceforge一个项目,是用于生成PDF文档的一个java类库。通过iText不仅可以生成PDF或rtf的文档,而且可以将XML、Html文件转化为PDF文件。功能强大。

5:JSP输出样式,该方案实现简单,但是处理样式有点缺陷,简单的导出可以使用。

6:用XML做就很简单了。Word从2003开始支持XML格式,大致的思路是先用office2003或者2007编辑好word的样式,然后另存为xml,将xml翻译为FreeMarker模板,最后用java来解析FreeMarker模板并输出Doc。经测试这样方式生成的word文档完全符合office标准,样式、内容控制非常便利,打印也不会变形,生成的文档和office中编辑文档完全一样。

如何把word中的图片导出并保存?

在word中将文档另存为网页文件,那么word中的图片就会出现在网页附带的文件夹中,具体操作请参照以下步骤。

1、在电脑上打开需要保存图片的word文档,点击界面左上角的“Office按钮”图标。

2、然后在其下拉框中,依次点击“另存为/其他格式”选项。

3、在另存为页面中,选择文件保存位置,再在“保存类型”右边的下拉框中选择“网页”,点击“保存”进行确定。

4、找到word文档保存的位置,可以发现多了一个文件夹。

5、打开文件夹,就能看到word文档里面的图片已经成功保存。完成以上设置后,即可把word中的图片导出并保存。

java导出word之后,打开word之后

给出这个图片的话,只能自己去找了,按详细信息找。

建议把怎么实现导出的代码贴上来

setContentType中改成application/msword试一下

改成它也不行

你是要实现功能导出,

还是在浏览器中打开,再另存为,再用word打开?---如果是这种就按一图的不加

转载请注明出处51数据库 » java导出图片到word java导出word表格

软件
前端设计
程序设计
Java相关