温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Apache-xwpf对word的操作是什么

发布时间:2021-10-20 16:59:09 来源:亿速云 阅读:202 作者:柒染 栏目:大数据

这篇文章给大家介绍Apache-xwpf对word的操作是什么,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

一、xwpf 文档结构类

  • XWPFDocument  XWPFWordExtractor word文档对象

  • XWPFParagraph    段落

  • XWPFTable           表格

  • XWPFTableRow    行

  • XWPFTableCell     单元格

  • XWPFRun             区域

  • CTTblPr                表格属性

 二、读取word

//读取文件
FileInputStream inputStream=new  FileInputStream("D:\\doc.doc");
//文件对象
XWPFDocument document=new XWPFDocument(inputStream);
//获取所有段落
List<XWPFParagraph> paragraphs=document.getParagraphs();
//遍历输出
for(XWPFParagraph paras:paragraphs) {
System.out.println("11"+paras.getText());
}
//获取所有表格
List<XWPFTable> tables = document.getTables();  
    List<XWPFTableRow> rows;  
    List<XWPFTableCell> cells;  
    for(XWPFTable table1:tables) {
    rows=table1.getRows();
    for(XWPFTableRow row:rows) {  
    cells=row.getTableCells(); 
    for(XWPFTableCell cell:cells) {  
    System.out.println(cell.getText());
    }  
  }   
 } 
inputStream.close();

常用api

//获取所有段落
List<XWPFParagraph> paragraphs=document.getParagraphs();

//获取所有表格
List<XWPFTable> tables = document.getTables();  

//获取所有圖片
List<XWPFPictureData> picList = document.getAllPictures();

三、写入word

//创建文档
XWPFDocument document=new XWPFDocument();
//创建一个段落
XWPFParagraph paragraph=document.createParagraph();
//xwpfRun  代表相同属性的一个区域
XWPFRun run1=paragraph.createRun();
run1.setBold(true);
run1.setText("背景: VR技术成熟度已经达到市场爆发的临界点,消费级产品");
run1.setColor("000000");
run1=paragraph.createRun();
run1.setText("目的:我们把VR技术与3D打印机连接,通过VR技术来实现打");
run1.setColor("ff0000");
OutputStream oStream=new FileOutputStream("D:\\doc.doc");
document.write(oStream);
oStream.close();

四、写入word表格

XWPFDocument document=new XWPFDocument();
//创建表格
XWPFTable table=document.createTable(5,5);
//获取每一行
int rowSize=rows.size();
int cellSize;
XWPFTableCell cell;
XWPFTableRow row;
for(int i=0;i<rowSize;i++) {
row=rows.get(i);
row.addNewTableCell();
row.setHeight(500);
cells=row.getTableCells();
cellSize=cells.size();
for(int j=0;j<cellSize;j++) {
cell=cells.get(j);
if ((i+j)%2==0) {  
                //设置单元格的颜色  
                cell.setColor("ff0000"); //红色  
            } else {  
                cell.setColor("0000ff"); //蓝色  
            }  
 //单元格属性  
            CTTcPr cellPr = cell.getCTTc().addNewTcPr();  
            cellPr.addNewVAlign().setVal(STVerticalJc.CENTER);  
            if (j == 3) {  
                //设置宽度  
                cellPr.addNewTcW().setW(BigInteger.valueOf(3000));  
            }  
            cell.setText(i + ", " + j);  
}
}

五、写入图片

//创建文档
XWPFDocument document=new XWPFDocument();
//创建一个//创建文档
XWPFDocument document=new XWPFDocument();
//创建一个段落
XWPFParagraph paragraph=document.createParagraph();
XWPFRun run=paragraph.createRun();
int format;

String imgFile="C:\\Users\\hlr\\Pictures\\1.jpg";
//判断文件后缀   获取文件类型
     if(imgFile.endsWith(".emf")) format = XWPFDocument.PICTURE_TYPE_EMF;
     else if(imgFile.endsWith(".wmf")) format = XWPFDocument.PICTURE_TYPE_WMF;
     else if(imgFile.endsWith(".pict")) format = XWPFDocument.PICTURE_TYPE_PICT;
     else if(imgFile.endsWith(".jpeg") || imgFile.endsWith(".jpg")) format = XWPFDocument.PICTURE_TYPE_JPEG;
     else if(imgFile.endsWith(".png")) format = XWPFDocument.PICTURE_TYPE_PNG;
     else if(imgFile.endsWith(".dib")) format = XWPFDocument.PICTURE_TYPE_DIB;
     else if(imgFile.endsWith(".gif")) format = XWPFDocument.PICTURE_TYPE_GIF;
     else if(imgFile.endsWith(".tiff")) format = XWPFDocument.PICTURE_TYPE_TIFF;
     else if(imgFile.endsWith(".eps")) format = XWPFDocument.PICTURE_TYPE_EPS;
     else if(imgFile.endsWith(".bmp")) format = XWPFDocument.PICTURE_TYPE_BMP;
     else if(imgFile.endsWith(".wpg")) format = XWPFDocument.PICTURE_TYPE_WPG;
     else {
         System.err.println("Unsupported picture: " + imgFile +
                 ". Expected emf|wmf|pict|jpeg|png|dib|gif|tiff|eps|bmp|wpg");
        return;
     }
     run.setText(imgFile);
     run.addBreak();
     //文件   类型  文件名 ,宽   高
     run.addPicture(new FileInputStream(imgFile), format, imgFile, Units.toEMU(200), Units.toEMU(200)); // 200x200 pixels
     run.addBreak(BreakType.PAGE);
OutputStream oStream=new FileOutputStream("D:\\doc.doc");
document.write(oStream);
oStream.close();

关于Apache-xwpf对word的操作是什么就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI