zoukankan      html  css  js  c++  java
  • poi对word的操作(总结)


    ★★★ 
    POI在读写word docx文件时是通过xwpf模块来进行的,其核心是XWPFDocument。
        1、正文段落:一个文档包含多个段落Paragraph,一个段落包含多个Runs,一个Runs包含多个Run,Run是文档的最小单元。
        (Run:代表具有相同属性的一段文本,可以包含多个图片)
        2、正文表格:一个文档包含多个表格Table,一个表格包含多行TableRow,一行包含多列(单元格TableCell)
        ,每一格的内容相当于一个完整的文档。★注:表格的一格相当于一个完整的docx文档,只是没有页眉和页脚。里面可以有表格,
        使用xwpfTableCell.getTables()获取在poi中段落和表格是完全分开的,如果在两个段落中有一个表格,
        在poi中是没办法确定表格在段落中间的。
        3、页眉:一个文档可以有多个页眉,页眉里面可以包含段落和表格
        4、页脚:页脚和页眉基本类似,可以获取表示页数的角标
     
    XWPFDocument代表一个docx文档,其可以用来读docx文档,也可以用来写docx文档。
    XWPFParagraph代表一个段落,由多个XWPFRun组成
    XWPFRun代表具有同样风格的一段文本
    XWPFTable代表一个表格
    XWPFTableRow代表表格的一行
    XWPFTableCell代表表格的一个单元格

    ★Paragraph、Run和Table都继承自Range。
      
    直接调用XWPFRun的setText()方法设置文本时,在底层会重新创建一个XWPFRun,把文本附加在当前文本后面,
    所以我们不能直接设值,需要先删除当前run,然后再自己手动插入一个新的run。 

    设置文本的大小、字体、是否加粗、颜色等

    XWPFRun r1 = p1.createRun();// p1.createRun()将一个新运行追加到这一段
      Text text = (Text) wordValue.getList().get(index).get("text");
      System.out.println(text.getValue());
      r1.setText(text.getValue());
      r1.setBold(true);// ---"加黑加粗"
      r1.setFontSize(14);// ---字体大小
      r1.setTextPosition(20);// 间距

    设置表格的位置、内容table、row、cell

    table.addNewCol();给表格增加新的一列

    table.createRow();创建一行

    row.setHeight(int height);设置单元格的高度

    cell.getText();返回单元格中文本内容

    cell.setColor(String color);设置单元格颜色

    cell.setText(String value);设置单元格的值

  • 相关阅读:
    visualStudio 无法登陆
    Roslyn NameSyntax 的 ToString 和 ToFullString 的区别
    Roslyn NameSyntax 的 ToString 和 ToFullString 的区别
    C# Span 入门
    C# Span 入门
    win10 uwp 使用 asp dotnet core 做图床服务器客户端
    win10 uwp 使用 asp dotnet core 做图床服务器客户端
    求点集的外接矩形
    PHP link() 函数
    PHP is_writeable() 函数
  • 原文地址:https://www.cnblogs.com/dayuruozhi/p/6667826.html
Copyright © 2011-2022 走看看