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使用JDBC连接数据库完整的工具类实例

package com.lanp.ajax.db; import java.sql.Connection; import java.sql.DriverManager; import jav...

Android网络交互Get,POST简介

做移动APP肯定少不了网络交互,无论是打开网页(如在手机端打开www.baidu.com)可是与服务器端交互(获取资料信息,上传或下载图片等),都要用到网络请求。我们常用的网络请求就是HTTP中的GE...
  • true100
  • true100
  • 2015年03月09日 10:31
  • 696

java通过Apache开源框架POI读取Word2003和Word2007转换成html的demo实例

import java.io.ByteArrayOutputStream; import java.io.File; import java.io.FileInputStream; import ja...

Java POI 生成Word文档

  • 2017年10月28日 13:54
  • 41KB
  • 下载

java将html导出成word(利用的poi包导出)

//导出到word public void exportWord(ActionMapping actionMapping, ActionForm actionForm, HttpServlet...

java操作word文档(jacob,poi)

项目需要,用户从系统里面下载word文档,该文档进行了填写限制和加密,用户只能在固定位置填写内容。现要求系统验证上传的附件是否从系统上下载下来的。 思路:系统上面的文档都加入一个固定书签,用户上传文...

poi资源包,java 解析Word,Excel的jar包

  • 2012年01月11日 21:11
  • 4.76MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:POI Java自动转换word
举报原因:
原因补充:

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