利用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.youkuaiyun.com/detail/yusewuhen/6666715