精华内容
下载资源
问答
  • poi生成doc文件后,怎么添加一个附件,点击之后,能跳转另一个文件
  • String templePath = "E:\\xyl.doc"; try { Map<String, String> contentMap = new HashMap<>(); contentMap.put("name", "小麦先森"); contentMap.put("job", "码农"); //...

    闲言少叙直接上代码

    public static void main(String[] args) {
    		String templePath = "E:\\xyl.doc";
    		try {
    			Map<String, String> contentMap = new HashMap<>();
    			contentMap.put("name", "小麦先森");
    			contentMap.put("job", "码农");
    			//createWordByTemple(sourceFileName, contentMap);
    			HWPFDocument document = createWordByTemple(templePath, contentMap);
    	        if(document != null){
    	         ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
    	            try {
    	                document.write(byteArrayOutputStream);
    	                OutputStream outputStream = new FileOutputStream("E:\\xyl目标文件.doc");
    	                outputStream.write(byteArrayOutputStream.toByteArray());
    	                outputStream.close();
    	            } catch (IOException e) {                            
    	            	
    	            }
    	        }
    		} catch (Exception e) {
    			e.printStackTrace();
    		}
    	}
    	
    	/**
    	 * 根据doc模板生成目标doc文件
    	 * @param templePath
    	 * @param contentMap
    	 * @return
    	 */
    	public static HWPFDocument createWordByTemple(String templePath, Map<String, String> contentMap) {
    		try {
                // 读取模板
    			FileInputStream tempFileInputStream = new FileInputStream(new File(templePath));
    			HWPFDocument document = new HWPFDocument(tempFileInputStream);
                // 读取文本内容
                Range bodyRange = document.getRange();
                // 替换内容
                for (Map.Entry<String, String> entry : contentMap.entrySet()) {
                    bodyRange.replaceText("${" + entry.getKey() + "}", entry.getValue());
                }
                return document;
            } catch (Exception e) {
                return null;
            }
    	}
    

    需要的jar包

    <dependency>
    	    <groupId>org.apache.poi</groupId>
    	    <artifactId>poi-scratchpad</artifactId>
    	    <version>4.1.0</version>
    	</dependency>
    

    模板文件(自定义)

    在这里插入图片描述

    运行代码–生成目标文件

    在这里插入图片描述

    good luck!

    展开全文
  • 在Android端生成doc格式的Word文档或者docx格式文档,提供所有需要jar包
  • poi读取doc生成pdfOne of my customers has an insane amount of PDF and Microsoft Word DOC files on their website. It's core to their online services so it's not as though they're garbage files up on the...

    poi读取doc生成pdf

    One of my customers has an insane amount of PDF and Microsoft Word DOC files on their website. It's core to their online services so it's not as though they're garbage files up on the server. My customer wanted their website's search engine (Sphider) to read these PDF files and DOC files so that their clients could get at the documents they needed without going through a bunch of summary pages to get them. I was successful in the task, so let me show you how to read PDF and DOC files using PHP.

    我的一位客户的网站上有大量的PDF和Microsoft Word DOC文件。 它是其在线服务的核心,因此就好像它们不是服务器上的垃圾文件一样。 我的客户希望其网站的搜索引擎(Sphider)读取这些PDF文件和DOC文件,以便他们的客户可以获取所需的文档,而无需经过一堆摘要页面来获取它们。 我已经成功完成了这项任务,所以让我向您展示如何使用PHP读取PDF和DOC文件。

    阅读PDF文件 (Reading PDF Files)

    To read PDF files, you will need to install the XPDF package, which includes "pdftotext." Once you have XPDF/pdftotext installed, you run the following PHP statement to get the PDF text:

    要阅读PDF文件,您需要安装XPDF软件包 ,其中包括“ pdftotext”。 安装XPDF / pdftotext后,运行以下PHP语句以获取PDF文本:

    $content = shell_exec('/usr/local/bin/pdftotext '.$filename.' -'); //dash at the end to output content
    
    

    读取DOC文件 (Reading DOC Files)

    Like the PDF example above, you'll need to download another package. This package is called Antiword. Here's the code to grab the Word DOC content:

    像上面的PDF示例一样,您需要下载另一个软件包。 该软件包称为Antiword 。 这是获取Word DOC内容的代码:

    $content = shell_exec('/usr/local/bin/antiword '.$filename);
    
    

    The above code does NOT read DOCX files and does not (and purposely so) preserve formatting. There are other libraries that will preserve formatting but in our case, we just want to get at the text.

    上面的代码不读取DOCX文件,并且不(有意地)保留格式。 还有其他一些库将保留格式,但是在我们的情况下,我们只想获取文本。

    A special thank you to Jeremy Parrish for his help and insight with this task.

    特别感谢Jeremy Parrish在此任务上的帮助和见识。

    翻译自: https://davidwalsh.name/read-pdf-doc-file-php

    poi读取doc生成pdf

    展开全文
  • poi生成word文件

    2015-09-11 16:12:00
    word目前有两种文件格式,一种是doc后缀、另一种是docx后缀的。2007之前的版本都是doc后缀的,这种格式poi使用HWPF进行处理。HWPF也能有限多地对旧的word6和word95格式的文件处理提供支持。2007(包括)之后都是docx...

    一、简介
      对于poi来说,poi可以完成对word、excel、ppt的处理。word目前有两种文件格式,一种是doc后缀、另一种是docx后缀的。2007之前的版本都是doc后缀的,这种格式poi使用HWPF进行处理。HWPF也能有限多地对旧的word6和word95格式的文件处理提供支持。2007(包括)之后都是docx后缀的,poi使用XWPF进行处理。HWPF 和 XWPF的特性有些相似,但是目前两者没有共用接口。
      HWPF和XWPF可以被描述为“适度功能”。对于一些例子来说,管理文本的提取,提供强有力的支持。对于其他莱斯,支持是有限或不完整的,需要深入研究低级别的代码。错误检测已经被移除,所有可能会创建格式错误的文件。
      HWPF 包含在poi-scratchpad-XXX.jar包中,而XWPF 包含在 poi-ooxml-XXX.jar包中。我们可以根据我们的需要来将这些包添加都classpath里面。HWPF与XWPF网址为:http://poi.apache.org/document/index.html 。

    二、实例

      1、依赖如下:

    <dependency>
        <groupId>org.apache.poi</groupId>
        <artifactId>poi</artifactId>
        <version>3.12</version>
        </dependency>    
    <dependency>
        <groupId>org.apache.poi</groupId>
        <artifactId>poi-ooxml</artifactId>
        <version>3.12</version>
    </dependency>
    <dependency>
        <groupId>org.apache.poi</groupId>
        <artifactId>poi-scratchpad</artifactId>
        <version>3.12</version>
    </dependency>

      2、示例代码如下:

      1 package com.test.word;
      2 
      3 import java.io.FileOutputStream;
      4 import java.io.IOException;
      5 import java.math.BigInteger;
      6 import java.util.List;
      7 
      8 import org.apache.poi.xwpf.usermodel.ParagraphAlignment;
      9 import org.apache.poi.xwpf.usermodel.TextAlignment;
     10 import org.apache.poi.xwpf.usermodel.XWPFDocument;
     11 import org.apache.poi.xwpf.usermodel.XWPFParagraph;
     12 import org.apache.poi.xwpf.usermodel.XWPFRun;
     13 import org.apache.poi.xwpf.usermodel.XWPFTable;
     14 import org.apache.poi.xwpf.usermodel.XWPFTableCell;
     15 import org.junit.Test;
     16 import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTTblPr;
     17 import org.openxmlformats.schemas.wordprocessingml.x2006.main.STTblWidth;
     18 
     19 /**
     20  * 创建word文档
     21  */
     22 public class WordCreate { 
     23     /**
     24      * 2007word文档创建
     25      */
     26     @Test
     27     public void createWord2007() {
     28         XWPFDocument doc = new XWPFDocument();
     29         XWPFParagraph p1 = doc.createParagraph();
     30 
     31         XWPFTable table = doc.createTable(11, 4);
     32         // CTTblBorders borders=table.getCTTbl().getTblPr().addNewTblBorders();
     33         CTTblPr tblPr = table.getCTTbl().getTblPr();
     34         tblPr.getTblW().setType(STTblWidth.DXA);
     35         tblPr.getTblW().setW(new BigInteger("7000"));
     36 
     37         // 设置上下左右四个方向的距离,可以将表格撑大
     38         table.setCellMargins(20, 20, 20, 20);
     39 
     40         // 表格
     41         List<XWPFTableCell> tableCells = table.getRow(0).getTableCells();
     42 
     43         XWPFTableCell cell = tableCells.get(0);
     44         XWPFParagraph newPara = new XWPFParagraph(cell.getCTTc().addNewP(), cell);
     45         XWPFRun run = newPara.createRun();
     46         /** 内容居中显示 **/
     47         newPara.setAlignment(ParagraphAlignment.CENTER);
     48         // run.getCTR().addNewRPr().addNewColor().setVal("FF0000");/**FF0000红色*/
     49         // run.setUnderline(UnderlinePatterns.THICK);
     50         run.setText("第一 数据");
     51 
     52         tableCells.get(1).setText("第一 数据");
     53         tableCells.get(2).setText("第一 据");
     54         tableCells.get(3).setText("第 据");
     55 
     56         tableCells = table.getRow(1).getTableCells();
     57         tableCells.get(0).setText("第数据");
     58         tableCells.get(1).setText("第一 数据");
     59         tableCells.get(2).setText("第一 据");
     60         tableCells.get(3).setText("第 据");
     61 
     62         // 设置字体对齐方式
     63         p1.setAlignment(ParagraphAlignment.CENTER);
     64         p1.setVerticalAlignment(TextAlignment.TOP);
     65 
     66         // 第一页要使用p1所定义的属性
     67         XWPFRun r1 = p1.createRun();
     68 
     69         // 设置字体是否加粗
     70         r1.setBold(true);
     71         r1.setFontSize(20);
     72 
     73         // 设置使用何种字体
     74         r1.setFontFamily("Courier");
     75 
     76         // 设置上下两行之间的间距
     77         r1.setTextPosition(20);
     78         r1.setText("标题");
     79 
     80         FileOutputStream out;
     81         try {
     82             out = new FileOutputStream("c:/test/word2007.docx");
     83             // 以下代码可进行文件下载
     84             // response.reset();
     85             // response.setContentType("application/x-msdownloadoctet-stream;charset=utf-8");
     86             // response.setHeader("Content-Disposition",
     87             // "attachment;filename=\"" + URLEncoder.encode(fileName, "UTF-8"));
     88             // OutputStream out = response.getOutputStream();
     89             // this.doc.write(out);
     90             // out.flush();
     91 
     92             doc.write(out);
     93             out.close();
     94         } catch (IOException e) {
     95             e.printStackTrace();
     96         }
     97         System.out.println("success");
     98     }
     99 
    100 }

      3、生成word如下所示

    展开全文
  • java使用poi读取doc和docx文件

    万次阅读 多人点赞 2016-07-22 10:53:02
    这几天在学习java io流的东西,有一个网友... 于是在网上搜寻了一阵之后才发现原来doc文档和excel一样不能用普通的io流的方法来读取,而是也需要用poi,于是进行了一番尝试后,终于以正确的编码格式读取了这个doc文件

    这几天在学习java io流的东西,有一个网友看到博客后问了一个问题,就是说他的doc文档为什么用我所说的方法死活就是乱码。

    我一开始以为是他方法问题,结果自己试了之后发现和他的结果一样也是乱码。

    于是在网上搜寻了一阵之后才发现原来doc文档和excel一样不能用普通的io流的方法来读取,而是也需要用poi,于是进行了一番尝试后,终于以正确的编码格式读取了这个doc文件。

    在网上搜索的过程中发现doc和docx的读取方法是不一样的,于是顺带也学了一下docx文件的简单读取。

    一、导包:
    doc文件的读取,需要导入poi-scratchpad的jar包和相关依赖包:
    这里写图片描述

    docx文件读取,需要导入poi-ooxml的jar包和相关依赖包:
    这里写图片描述

    我用的是maven构建项目,相关的依赖包会自动导入,maven导包配置如下:

     <dependency>
            <groupId>org.apache.poi</groupId>
            <artifactId>poi-ooxml</artifactId>
            <version>3.8</version>
        </dependency>
        <dependency>
            <groupId>org.apache.poi</groupId>
            <artifactId>poi-scratchpad</artifactId>
            <version>3.8</version>
        </dependency>
    

    二、读取文件的代码:
    1、doc文件读取简单示例:

    public static void readAndWriterTest3() throws IOException {
            File file = new File("C:\\Users\\tuzongxun123\\Desktop\\aa.doc");
            String str = "";
            try {
                FileInputStream fis = new FileInputStream(file);
                HWPFDocument doc = new HWPFDocument(fis);
                String doc1 = doc.getDocumentText();
                System.out.println(doc1);
                StringBuilder doc2 = doc.getText();
                System.out.println(doc2);
                Range rang = doc.getRange();
                String doc3 = rang.text();
                System.out.println(doc3);
                fis.close();
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    

    2、docx文件读取简单示例:

    public static void readAndWriterTest4() throws IOException {
            File file = new File("C:\\Users\\tuzongxun123\\Desktop\\aa.docx");
            String str = "";
            try {
                FileInputStream fis = new FileInputStream(file);
                XWPFDocument xdoc = new XWPFDocument(fis);
                XWPFWordExtractor extractor = new XWPFWordExtractor(xdoc);
                String doc1 = extractor.getText();
                System.out.println(doc1);
                fis.close();
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    

    //20171218修改
    我并没有在工作中操作过word,这篇博客也只是一时兴起所做,因此写的很简单。
    而最近陆续有朋友找我询问相关的问题,其中有好几个都在询问依赖包有哪些,为了避免一再回答这种问题,特将依赖包截图:
    这里写图片描述
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-YyC68tDX-1602637866657)(https://blog.tzxcode.cn/images/copyright.png)]

    展开全文
  • java使用poi在word中生成柱状图、折线图、饼图、柱状图+折线图组合图、动态表格、文本替换、图片替换、更新内置Excel数据、更新插入的文本框内容、合并表格单元格; 博客内容是,写好模板后,如何向内填写数据。...
  • POI是apache提供的可以操作word文档的第三方jar。POI能操作word是使用XWPFDocument对象 主要操作 pom 依赖 <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</...
  • poi生成Excel文件

    2011-05-25 10:38:00
    1.下载jar包:http://poi.apache.org/download.html2.实例代码import java.io.File; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import javax.swing...
  • 一、问题: ...当生成的排版格式不是你想...这就是解决问题的思路,思路很重要,比你去苦苦对照代码,怀疑代码编写错误的意义要大很多,这个排版问题我用了半天时间才解决,原因是我刚开始不熟悉这个poi生成word的
  • Android使用poi生成docx文件,插入图片

    千次阅读 2019-06-26 17:12:45
    //根据两个模板创建新的文件 private void writeNewDoc() { try { InputStream in_w = getAssets().open("template_w.docx"); MyXWPFDocument newDoc = new MyXWPFDocument(in_w); List<XWPFParagraph> ...
  • POI生成Web版Word文件

    2019-09-27 06:57:07
    POI生成Web版Word文件 1通过URL的输入流实现 2直接把Html文本写入到Word文件 所谓的使用POI生成Web版Word文件是指利用POI将Html代码插入到Word文件中使之呈现出Html代码对应的Web样式。下面将介绍两种方法来...
  • 使用POI读写word doc文件 目录 1读word doc文件 1.1通过WordExtractor读文件 1.2通过HWPFDocument读文件 2写word doc文件 Apache poi的hwpf模块是专门用来对word doc文件进行读写操作的。在hwpf里面我们...
  • 使用POI读写word doc文件 目录 1 读word doc文件 1.1 通过WordExtractor读文件 1.2 通过HWPFDocument读文件 2 写word doc文件    Apache poi的hwpf模块是专门用来对word doc文件进行读写操作的。在hwpf里面...
  • Spire.doc花式生成doc文件

    千次阅读 2019-09-23 17:01:22
    Spire.doc花式生成word文件 前段时间研究了一个月的java生成word的方法,中间试了itext2、5、7 模板freemaker poi等等第三方的工具,但是终究没有一个能达到我期望的目标的,尤其是itext,占用了我一大半时间搞,...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 4,692
精华内容 1,876
关键字:

poi生成doc文件