精华内容
下载资源
问答
  • POI操作word

    2019-06-24 16:21:24
    采用POI操作word引入依赖两种操作方式直接成word和表格使用word模板生成word 引入依赖 首先使用POI的时候需要先引入maven依赖 <dependency> <groupId>org.apache.poi</groupId> <...

    引入依赖

    首先使用POI的时候需要先引入maven依赖

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

    两种操作方式

    采用POI操作word有两种方式可以操作:1,直接生成word。2,使用word的模板

    直接成word和表格

       XWPFDocument document=new XWPFDocument();
       	//添加标题
       	XWPFParagraph title=document.createParagraph();
       	//设置标题居中
       	title.setAlignment(ParagraphAlignment.CENTER);
       	XWPFRun titleRun=title.createRun(); 
       	titleRun.setText("标题");
       	titleRun.setColor("000000");
       	titleRun.setFontSize(20);
    		//段落
           XWPFParagraph firstParagraph = document.createParagraph();
           XWPFRun run = firstParagraph.createRun();
           run.setText("段落一");
           run.setFontSize(14);
       	run.setBold(true);
    
       //生成表格
       //换行
       			XWPFParagraph next=document.createParagraph();
       			XWPFRun nextRun=next.createRun();
       			nextRun.setText("\r");
       			//表格  
       	        XWPFTable ComTable = document.createTable();  
       	        //列宽自动分割  
       	        CTTblWidth comTableWidth = ComTable.getCTTbl().addNewTblPr().addNewTblW();  
       	        comTableWidth.setType(STTblWidth.DXA);  
       	        comTableWidth.setW(BigInteger.valueOf(9072));  
       	        //表格第一行  
       	        XWPFTableRow comTableRowOne = ComTable.getRow(0);  
    //		        String [] arrStrings={"序号","省市","时间","市县","活动名称","具体地址","备注"};
       	        XWPFTableCell cell1 = comTableRowOne.getCell(0);
       	        XWPFParagraph addParagraph1 = cell1.addParagraph();
       	        XWPFRun cellRun1 = addParagraph1.createRun();
       	        cellRun1.setText(arrStrings[0]);	
       	        cellRun1.setBold(true);
       	        //填充表格的第一行数据
       	        for(int j=1;j<arrStrings.length;j++){
       	        	  XWPFTableCell cell = comTableRowOne.addNewTableCell();
       	              XWPFParagraph addParagraph = cell.addParagraph();
       	              XWPFRun cellRun = addParagraph.createRun();
       	              cellRun.setText(arrStrings[j]);
       	              cellRun.setBold(true);
       	        }
       	        //插入表格数据 可以采用循环插入
       	        XWPFTableRow comTableRowTwo = ComTable.createRow();  
        	        comTableRowTwo.getCell(0).setText("");  
        	        comTableRowTwo.getCell(1).setText("");  
        	        comTableRowTwo.getCell(3).setText("");
        	        comTableRowTwo.getCell(4).setText("");
        	        comTableRowTwo.getCell(5).setText("");
        	        comTableRowTwo.getCell(6).setText(" ");
    
    //最后调用一个方法来下载
    try {
               this.setResponseHeader(response, "测试.docx");
               OutputStream out = response.getOutputStream();
               document.write(out);
               out.close();
               out.flush();
               out.close();
       		
       	} catch (FileNotFoundException e) {
       		e.printStackTrace();
       	}
    
    
    /*
        * 发送响应流方法
        */
       public void setResponseHeader(HttpServletResponse response, String fileName) {
           try {
               try {
                   fileName = new String(fileName.getBytes(),"ISO8859-1");
               } catch (UnsupportedEncodingException e) {
                   e.printStackTrace();
               }
               response.setContentType("application/octet-stream;charset=ISO8859-1");
               response.setHeader("Content-Disposition", "attachment;filename="+ fileName);
               response.addHeader("Pargam", "no-cache");
               response.addHeader("Cache-Control", "no-cache");
           } catch (Exception ex) {
               ex.printStackTrace();
           }
       }
    

    使用word模板生成word

    	@Override
    	public XWPFDocument getXWPFDocumentAll(Model model) {
    		//模板地址
    		String inputUrl = "C:\\ncps_static_files\\111.docx";
    		XWPFDocument document =null;
    		 try {
    	            //解析docx模板并获取document对象
    			 	document = new XWPFDocument(POIXMLDocument.openPackage(inputUrl));
    			 	if(model==null ){
    			 		return document;
    			 	}
    	            //设置数据到模板上-
    	            this.setXWPFDocumentAll(model,document);
    	           
    	        } catch (IOException e) {
    	            e.printStackTrace();
    	        }
    		 return document;
    	}
    //设置模板的值
    	public void setXWPFDocumentAll(RealReimburseModel model,XWPFDocument document){
    		 //获取表格对象集合
            List<XWPFTable> tables = document.getTables();
            //只处理行数大于等于2的表格,且不循环表头
            XWPFTable table = tables.get(0);
            List<XWPFTableRow> rows = table.getRows();
            //遍历表格,替换数据
            XWPFTableRow row1 = rows.get(1);
        	row1.getCell(0).setText("");
        	row1.getCell(1).setText("");
        	row1.getCell(2).setText("");
        	row1.getCell(3).setText("");
        	row1.getCell(4).setText("");
        	row1.getCell(5).setText("");
        	row1.getCell(6).setText("");
    //可以通过下面来创建新的表格行
     XWPFTableRow row = table.createRow();
    }
    
    
    展开全文
  • POI 操作word

    2012-03-01 15:26:40
    关于POI操作word的类介绍。这是Apache软件基金会的一个开源项目,针对于java开发的。
  • poi操作word

    千次阅读 2015-03-14 23:56:27
    poi操作word 1、环境支持  1.1 添加poi支持:包下载地址http://www.apache.org/dyn/closer.cgi/poi/release/  1.2 POI对Excel文件的读取操作比较方便,POI还提供对Word的DOC格式文件的读取。但在它的发行...

    poi操作word

    1、环境支持

        1.1 添加poi支持:包下载地址http://www.apache.org/dyn/closer.cgi/poi/release/

         1.2 POI对Excel文件的读取操作比较方便,POI还提供对Word的DOC格式文件的读取。但在它的发行版本中没有发布对Word支持的模块,需要另外下载一个POI的扩展的Jar包。下载地址为http://www.ibiblio.org/maven2/org/textmining/tm-extractors/0.4/ 下载extractors-0.4_zip这个文件

    2、提取Doc文件内容

    public static String readDoc(String doc) throws Exception {
        // 创建输入流读取DOC文件
         FileInputStream in = new FileInputStream(new File(doc));
         WordExtractor extractor = null;
         String text = null;
        // 创建WordExtractor
         extractor = new WordExtractor();
        // 对DOC文件进行提取
         text = extractor.extractText(in);
        return text;
    }

    public static void main(String[] args) {
            try{
                String text = WordReader.readDoc("c:/test.doc");
                System.out.println(text);
             }catch(Exception e){
                 e.printStackTrace();
             }
         }

    3、写入Doc文档

    import java.io.ByteArrayInputStream;
    import java.io.FileOutputStream;
    import java.io.IOException;

    import org.apache.poi.poifs.filesystem.DirectoryEntry;
    import org.apache.poi.poifs.filesystem.DocumentEntry;
    import org.apache.poi.poifs.filesystem.POIFSFileSystem;

    public class WordWriter {
    public static boolean writeDoc(String path, String content) { 
        boolean w = false; 
       try {

       // byte b[] = content.getBytes("ISO-8859-1"); 
       byte b[] = content.getBytes();

       ByteArrayInputStream bais = new ByteArrayInputStream(b);

       POIFSFileSystem fs = new POIFSFileSystem(); 
       DirectoryEntry directory = fs.getRoot();

       DocumentEntry de = directory.createDocument("WordDocument", bais);

       FileOutputStream ostream = new FileOutputStream(path);

       fs.writeFilesystem(ostream);

       bais.close(); 
       ostream.close();

       } catch (IOException e) { 
       e.printStackTrace(); 
       } 
       return w; 
       } 
       public static void main(String[] args) throws Exception{ 
       String wr=WordReader.readDoc("D:\\test.doc");
       boolean b = writeDoc("D:\\result.doc",wr); 
       } 
    }

    展开全文
  • POI操作WORD

    2013-07-16 16:25:17
    POI操作WORD   POI操作word有很多局限性并不完善,所以用它的一个扩展包 1、环境支持  1.1 添加poi支持:包下载地址http://www.apache.org/dyn/closer.cgi/poi/release/  1.2 POI对Excel文件的读取操作比较...


    POI操作WORD

     

    POI操作word有很多局限性并不完善,所以用它的一个扩展包

    1、环境支持

        1.1 添加poi支持:包下载地址http://www.apache.org/dyn/closer.cgi/poi/release/

         1.2 POI对Excel文件的读取操作比较方便,POI还提供对Word的DOC格式文件的读取。但在它的发行版本中没有发布对Word支持的模块,需要另外下载一个POI的扩展的Jar包。下载地址为http://www.ibiblio.org/maven2/org/textmining/tm-extractors/0.4/ 下载extractors-0.4_zip这个文件

    下面给几个例子看看

    写的不好还希望大家多提意见

    testmining官方网站http://www.textmining.org/

    package com.ray.poi.util;

    import java.io.ByteArrayInputStream;
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileOutputStream;
    import java.io.IOException;

    import org.apache.poi.poifs.filesystem.DirectoryEntry;
    import org.apache.poi.poifs.filesystem.DocumentEntry;
    import org.apache.poi.poifs.filesystem.POIFSFileSystem;
    import org.textmining.text.extraction.WordExtractor;

     


    /**
     * 读写doc
     * @author wangzonghao
     *
     */
    public class POIWordUtil {
     /**
      * 读入doc
      * @param doc
      * @return
      * @throws Exception
      */
     public static String readDoc(String doc) throws Exception {
         // 创建输入流读取DOC文件
          FileInputStream in = new FileInputStream(new File(doc));
          WordExtractor extractor = null;
          String text = null;
         // 创建WordExtractor
          extractor = new WordExtractor();
         // 对DOC文件进行提取
          text = extractor.extractText(in);
         return text;
     }
     /**
      * 写出doc
      * @param path
      * @param content
      * @return
      */
     public static boolean writeDoc(String path, String content) {
         boolean w = false;
        try {

        // byte b[] = content.getBytes("ISO-8859-1");
        byte b[] = content.getBytes();

        ByteArrayInputStream bais = new ByteArrayInputStream(b);

        POIFSFileSystem fs = new POIFSFileSystem();
        DirectoryEntry directory = fs.getRoot();

        DocumentEntry de = directory.createDocument("WordDocument", bais);

        FileOutputStream ostream = new FileOutputStream(path);

        fs.writeFilesystem(ostream);

        bais.close();
        ostream.close();

        } catch (IOException e) {
        e.printStackTrace();
        }
        return w;
        }

     

    }
    测试

    package com.ray.poi.util;

    import junit.framework.TestCase;

    public class POIUtilTest extends TestCase {

     public void testReadDoc() {
      try{
                String text = POIWordUtil.readDoc("E:/work_space/poi/com/ray/poi/util/demo.doc");
                System.out.println(text);
             }catch(Exception e){
                 e.printStackTrace();
             }

     }

     public void testWriteDoc() {
         String wr;
      try {
       wr = POIWordUtil.readDoc("E:/work_space/poi/com/ray/poi/util/demo.doc");

        boolean b = POIWordUtil.writeDoc("c://demo.doc",wr);
      } catch (Exception e) {
       // TODO Auto-generated catch block
       e.printStackTrace();
      }

     }

    }
    展开全文
  • POI操作Word

    2015-10-18 22:59:33
    poi导出word操作 http://my.oschina.net/u/990438/blog/134294 [简单]poi 设置word 2007段落与表格底纹 http://www.bubuko.com/infodetail-478024.html

    poi导出word操作 http://my.oschina.net/u/990438/blog/134294

    [简单]poi 设置word 2007段落与表格底纹 http://www.bubuko.com/infodetail-478024.html

    展开全文
  • poi操作word表格

    热门讨论 2012-10-14 21:47:05
    poi.word poi.word poi操作word表格
  • poi操作word Demo

    2018-10-29 17:18:15
    poi操作word例子代码,可插入图片。插入表格,插入段落插入标题
  • poi操作word文档

    2019-04-23 17:51:07
    poi操作word文档,更新word内容,表格,插入图片等,支持跨平台
  • 使用POI操作word

    2018-02-05 11:43:11
    使用POI操作word内容,需要使用POI的同学可以看一下,也可以使用POI导入导出EXcel等都可以。
  • poi操作word转html必须jar poi操作word转html必须jar poi操作word转html必须jar poi操作word转html必须jar
  • POI操作word工具类

    2017-11-07 10:27:20
    完整的支持POI操作word以下功能: 1.替换模板数据 2,替换表格数据 3.word表格行内添加 4.word写入写出
  • POI操作Word资料

    2012-07-27 00:54:39
    POI操作Word资料
  • poi操作word模板

    热门讨论 2013-10-17 15:30:51
    poi操作word的模板,读取数据后,将数据填充到新生成的文件中
  • poi操作word手册例子

    2013-11-01 15:48:53
    poi操作word手册例子,包含相关包,详细讲解相关操作word步骤。
  • poi操作word在页眉上添加图片
  • poi操作word文档 怎样实现 实现删除表格,然后把批注删掉
  • poi操作word文档所需的jar包,可以读取文档中的段落表格等内容。
  • android使用POI操作word docx文档,根据 【***】这种标识规则,替换掉docx文档中的内容
  • java--poi 操作WORD和EXCLE

    2016-10-16 18:53:51
    java--poi 操作WORD和EXCLE
  • poi操作Word报错XmlException需要的jar包(xmlbeans-5.1.3)
  • 文章目录poi 操作 Word官方文档博客简单的例子创新标签图表目录...简单的poi操作word例子 poi读取Word和Excel文件给的一些判断文件类型的技巧 POI创建DOCX常用操作,对应方法特别详细,虽然不是Java下的但是仍然有借鉴
  • JAVA操作MS office 工具 POI操作WORD 官方测试案例 DEMO(含jar包,IDEA) 可直接运行测试。 ------------------------------------------------------ 1 什么是Apache POI 全称Apache POI,使用Java编写的免费...
  • poi操作word模板替换数据,很简单,涉及的算法也不是很多。我会提供poi的jar包。核心思想就是将word需要替换的部分写成关键字,在操作word的时候,根据关键字替换成我们填充的数据。 二、poi下载 微信公众号搜索:...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 8,097
精华内容 3,238
关键字:

poi操作word