poi导出word

添加maven依赖:

<!-- poi --> 
<dependency>
    <groupId>org.apache.poi</groupId>
    <artifactId>poi-ooxml</artifactId>
    <version>3.17-beta1</version>
</dependency>

<!-- fast json -->
<dependency> 
    <groupId>com.alibaba</groupId>
     <artifactId>fastjson</artifactId>
     <version>1.2.31</version>
</dependency>

主要代码:

//创建doc
XWPFDocument doc = new XWPFDocument();

//追加一个新的段落
XWPFParagraph p1 = doc.createParagraph();

//段落文本居中对齐
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);

//创建一套通用属性(居中,字体……)的文本区域
XWPFRun r1 = p1.createRun();

//设置文本
r1.setText("The quick brown fox");

//加粗
r1.setBold(true);

//字体
r1.setFontFamily("Courier");

//点状下划线
r1.setUnderline(UnderlinePatterns.DOT_DOT_DASH);

//行文字基线向上偏移100
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.setStrikeThrough(true);
r2.setFontSize(20);

XWPFRun r3 = p2.createRun();
r3.setText("and went away");
r3.setStrikeThrough(true);
r3.setFontSize(20);

//行内文本上标
r3.setSubscript(VerticalAlign.SUPERSCRIPT);

XWPFParagraph p3 = doc.createParagraph();

//段落结束
p3.setWordWrapped(true);

//分页符
p3.setPageBreak(true);

//p3.setAlignment(ParagraphAlignment.DISTRIBUTE);
//两端对齐
p3.setAlignment(ParagraphAlignment.BOTH);

//设置行间距。指定行高15磅,文字超过行高,进行裁剪
p3.setSpacingBetween(15, LineSpacingRule.EXACT);

//首行缩进600
p3.setIndentationFirstLine(600);

XWPFRun r4 = p3.createRun();

//行文字基线向上偏移20
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; ");

//添加一个分页符(跳到下一页)。TEXT_WRAPPING:换行,COLUMN:换下一列
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();

//行文字基线向下偏移10
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,");

//强制换行
r5.addBreak(BreakClear.ALL);
r5.setText("The pangs of despised love, the law's delay,"
        + "The insolence of office and the spurns" + ".......");

FileOutputStream out = new FileOutputStream("simple.docx");
doc.write(out);
out.close();
doc.close();

 

这些是主要代码,因为匆忙,比较简陋,大家见谅!

转载于:https://my.oschina.net/kevin2kelly/blog/1504316

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值