POI Java自动转换word

原创 2013年12月06日 09:35:49

利用apach 的POI Java 自动转换 编辑Word 所需jar包在后面会给出下载

注释是自己添加的可能不够准确详细 ,自己多多实验就知道了

public class Word {

	public static void main(String[] args) {
		//定义doc文件
		XWPFDocument doc = new XWPFDocument(); 
		//创建一个新的段落对象
		XWPFParagraph p1 = doc.createParagraph();  
		//制定p1段落的对其方式
	        p1.setAlignment(ParagraphAlignment.CENTER);  
	        //设置段落的边框
	        p1.setBorderBottom(Borders.DOUBLE);  
	        p1.setBorderTop(Borders.DOUBLE);   
	        p1.setBorderRight(Borders.DOUBLE);  
	        p1.setBorderLeft(Borders.DOUBLE);  
	        p1.setBorderBetween(Borders.SINGLE);  
	        //设置本段文字的对其方式
	        p1.setVerticalAlignment(TextAlignment.TOP);  
	  
	        //在段落中新插入一个run,这里的run我理解就是一个word文档需要显示的个体,里面可以放文字
	        XWPFRun r1 = p1.createRun(); 
	        //文字加粗
	        r1.setBold(true);  
	        //为文本区域添加文字
	        r1.setText("The222 qQQ");  
	        //字体的类型
	        r1.setFontFamily("Courier");  
	        //设置下划线的类型
	        r1.setUnderline(UnderlinePatterns.DOT_DOT_DASH);  
	        //设置文本区域距离(上或下)的距离 不太清楚
	        r1.setTextPosition(100);  
	  
	        XWPFParagraph p2 = doc.createParagraph();  
	        p2.setAlignment(ParagraphAlignment.RIGHT);  
	  
	        //BORDERS  
	        p2.setBorderBottom(Borders.DOUBLE);  
	        p2.setBorderTop(Borders.DOUBLE);  
	        p2.setBorderRight(Borders.DOUBLE);  
	        p2.setBorderLeft(Borders.DOUBLE);  
	        p2.setBorderBetween(Borders.SINGLE);  
	  
	        XWPFRun r2 = p2.createRun();  
	        r2.setText("jumped over the lazy dog");  
	        //设置删除线
	        r2.setStrike(true);  
	        r2.setFontSize(20);  
	  
	        XWPFRun r3 = p2.createRun();  
	        r3.setText("and went away");  
	        r3.setStrike(true);  
	        r3.setFontSize(20);  
	        //设置文本外观是否与上一级r2相同
	        r3.setSubscript(VerticalAlign.SUBSCRIPT);  
	  
	  
	        XWPFParagraph p3 = doc.createParagraph();  
	        p3.setWordWrap(true);  
	        //分页
	        p3.setPageBreak(true);  
	                  
	        //p3.setAlignment(ParagraphAlignment.DISTRIBUTE);  
	        p3.setAlignment(ParagraphAlignment.BOTH);  
	        //指定行间距的计算属性
	        p3.setSpacingLineRule(LineSpacingRule.EXACT);  
	        //指定段落的缩进
	        p3.setIndentationFirstLine(600);  
	          
	  
	        XWPFRun r4 = p3.createRun();  
	        //设定行间距
	        r4.setTextPosition(20);  
	        r4.setText("To be, or not to be: that is the question: "  
	                + "Whether 'tis nobler in the mind to suffer "  
	                + "The slings and arrows of outrageous fortune, "  
	                + "Or to take arms against a sea of troubles, "  
	                + "And by opposing end them? To die: to sleep; ");  
	        //添加分页
	        r4.addBreak(BreakType.PAGE);  
	        r4.setText("No more; and by a sleep to say we end "  
	                + "The heart-ache and the thousand natural shocks "  
	                + "That flesh is heir to, 'tis a consummation "  
	                + "Devoutly to be wish'd. To die, to sleep; "  
	                + "To sleep: perchance to dream: ay, there's the rub; "  
	                + ".......");  
	        //设置文字为斜体
	        r4.setItalic(true);  
	//This would imply that this break shall be treated as a simple line break, and break the line after that word:  
	  
	        XWPFRun r5 = p3.createRun();
	       //似乎是行间距
	        r5.setTextPosition(-10);  
	        r5.setText("For in that sleep of death what dreams may come");  
	        //制定一个回车键
	        r5.addCarriageReturn();  
	        r5.setText("When we have shuffled off this mortal coil,"  
	                + "Must give us pause: there's the respect"  
	                + "That makes calamity of so long life;");
	        //相当于换行吧
	        r5.addBreak();  
	        r5.setText("For who would bear the whips and scorns of time,"  
	                + "The oppressor's wrong, the proud man's contumely,");  
	        //分段与addBreak()稍有不同
	        r5.addBreak(BreakClear.ALL);  
	        r5.setText("The pangs of despised love, the law's delay,"  
	                + "The insolence of office and the spurns" + ".......");  
	  
	        //输出文件
	        FileOutputStream out;
			try {
				//输出文件的路径
				out = new FileOutputStream("C:\\Users\\lixiaonan\\Desktop\\simple.docx");
				doc.write(out);  
		        out.close();  
			} catch (Exception e) {
				
				e.printStackTrace();
			}  
	        
		}
	}

所需的jar包下载地址 http://download.csdn.net/detail/yusewuhen/6666715

Java POI通过模板方法生成word文档

大家可能看过另一篇博客,这个是博客地址点击打开链接 里面说到使用模板的方式生成word文档,但是给出的代码并没有起效,这里我稍作了修改,这个是word文档模板方法操作工具类: package util...
  • mate_ge
  • mate_ge
  • 2016年03月06日 12:54
  • 22328

Java POI 生成Word文档

Java POI方式生成word文件。
  • zhouseawater
  • zhouseawater
  • 2017年01月09日 15:31
  • 10702

【项目实战】Java POI之Word导出经典案例一

最近项目中需要用到数据的导出到Word,本在项目中使用POI将数据导入到Word,和Excel导出类似,先将jar包导入进去(我这里就省去导jar包啦),我直接上实现过程吧! 1、导入POI jar包...
  • zsq520520
  • zsq520520
  • 2016年12月09日 14:50
  • 6680

Java POI组件——简单提取Word、word转html、text、xml(仅支持doc,不支持docx)

需要添加的库 poi-3.15.jar poi-ooxml-3.15.jar poi-scratchpad-3.15.jar package com.poi.word;import java.io.F...
  • chy555chy
  • chy555chy
  • 2016年11月20日 23:00
  • 2297

模板生成word文档 By POI+Word书签功能

刚开始接到生成文档的时候,我的内心是拒绝的,脑海里回想起了苦痛挪位置调像素的jasper,和不停add各种style的POI。但是这个模块都归我~~~老子说了算赶紧上网搜搜有没什么easy way。看...
  • calance
  • calance
  • 2016年10月13日 18:42
  • 2836

POI操作word模板并生成新的word.docx

XWPFDocument对象POI是apache提供的可以操作word文档的第三方jar。POI能操作word是使用XWPFDocument对象。 XWPFDocument对象可以解析docx文件,在...
  • Harry_ZH_Wang
  • Harry_ZH_Wang
  • 2017年03月18日 01:26
  • 6149

Java引用POI实现Word转Html方法

1.     下载POI工具并引用2.     读取整个doc文档,获得该文档的所有字符串。3.     从该字符串中得到标题,把该标题构成一个HTML格式的字符串,如测试文档。4.     从该文档...
  • cornfieldc01
  • cornfieldc01
  • 2011年04月21日 20:35
  • 26166

POI完成从多个word模板到一个报告(word2007)

背景:          先说一下,作者为什么要选择POI来生成报告。之前项目中使用的是jacob,但是偶尔会出现windows错误提示框,word已停止工作,每次都需要手动关闭这个提示框,才能继续生...
  • pengchong333
  • pengchong333
  • 2016年12月22日 18:05
  • 2126

java/poi读取word,并替换word中的文本内容,向word中插入图片的操作

先贴代码,注:部分代码源自网络其他前辈的文章,这里只是做一个功能整合。 package fcjTool; import java.io.IOException; import java...
  • xiaosimm
  • xiaosimm
  • 2015年03月25日 16:36
  • 11454

POI写Word换行

POI写Word换行            本文旨在描述基于变量替换生成Word doc文件的换行方式。Word换行主要有两大类,一类是表格单元格文本的换行,另一类是表格之外的文本的换行。对于表格...
  • zylzb
  • zylzb
  • 2014年10月27日 17:38
  • 2023
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:POI Java自动转换word
举报原因:
原因补充:

(最多只允许输入30个字)