溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Apache-xwpf對word的操作是什么

發(fā)布時間:2021-10-20 16:59:09 來源:億速云 閱讀:181 作者:柒染 欄目:大數(shù)據(jù)

這篇文章給大家介紹Apache-xwpf對word的操作是什么,內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

一、xwpf 文檔結(jié)構(gòu)類

  • XWPFDocument  XWPFWordExtractor word文檔對象

  • XWPFParagraph    段落

  • XWPFTable           表格

  • XWPFTableRow    行

  • XWPFTableCell     單元格

  • XWPFRun             區(qū)域

  • 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

//創(chuàng)建文檔
XWPFDocument document=new XWPFDocument();
//創(chuàng)建一個段落
XWPFParagraph paragraph=document.createParagraph();
//xwpfRun  代表相同屬性的一個區(qū)域
XWPFRun run1=paragraph.createRun();
run1.setBold(true);
run1.setText("背景: VR技術(shù)成熟度已經(jīng)達(dá)到市場爆發(fā)的臨界點,消費級產(chǎn)品");
run1.setColor("000000");
run1=paragraph.createRun();
run1.setText("目的:我們把VR技術(shù)與3D打印機連接,通過VR技術(shù)來實現(xiàn)打");
run1.setColor("ff0000");
OutputStream oStream=new FileOutputStream("D:\\doc.doc");
document.write(oStream);
oStream.close();

四、寫入word表格

XWPFDocument document=new XWPFDocument();
//創(chuàng)建表格
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) {  
                //設(shè)置單元格的顏色  
                cell.setColor("ff0000"); //紅色  
            } else {  
                cell.setColor("0000ff"); //藍(lán)色  
            }  
 //單元格屬性  
            CTTcPr cellPr = cell.getCTTc().addNewTcPr();  
            cellPr.addNewVAlign().setVal(STVerticalJc.CENTER);  
            if (j == 3) {  
                //設(shè)置寬度  
                cellPr.addNewTcW().setW(BigInteger.valueOf(3000));  
            }  
            cell.setText(i + ", " + j);  
}
}

五、寫入圖片

//創(chuàng)建文檔
XWPFDocument document=new XWPFDocument();
//創(chuàng)建一個//創(chuàng)建文檔
XWPFDocument document=new XWPFDocument();
//創(chuàng)建一個段落
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();

關(guān)于Apache-xwpf對word的操作是什么就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI