亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

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

Java怎么基于poi操作Wold工具類

發布時間:2021-02-01 10:39:59 來源:億速云 閱讀:298 作者:小新 欄目:編程語言

這篇文章主要介紹了Java怎么基于poi操作Wold工具類,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

Apache封裝的POI組件對Excel,Wold的操作已經非常的豐富了,在項目上也會經常用到一些POI的基本操作

這里就簡單的闡述POI操作Wold的基本工具類,代碼還是有點粗造的,但是不影響使用。

這個類包含了一些對文本進行換行,加粗,傾斜,字體顏色,大小,首行縮進,添加邊框等方法。分享給大家學習下:

  • Apache POI的組件:

  • ApachePOI包含用于處理MS-Office的所有OLE2復合文檔的類和方法。該API的組件列表如下 -

  • POIFS(不良混淆實現文件系統) - 此組件是所有其他POI元素的基本因素。它用于顯式讀取不同的文件。

  • HSSF(可怕的SpreadSheet格式) - 用于讀取和寫入.xls格式的MS-Excel文件。

  • XSSF(XML SpreadSheet格式) - 用于MS-Excel的.xlsx文件格式。

  • HPSF(可怕的屬性集格式) - 用于提取MS-Office文件的屬性集。

  • HWPF(可怕的字處理器格式) - 用于讀寫MS-Word的.doc擴展文件。

  • XWPF(XML字處理器格式) - 用于讀寫MS-Word的.docx擴展文件。

  • HSLF(可怕的幻燈片布局格式) - 用于閱讀,創建和編輯PowerPoint演示文稿。

  • HDGF(可怕的DiaGram格式) - 它包含MS-Visio二進制文件的類和方法。

  • HPBF(可怕的PuBlisher格式) - 用于讀寫MS-Publisher文件。

下面就獻上代碼:

首先我們引入需要的第三方jar包

<dependency>
  <groupId>org.apache.poi</groupId>
  <artifactId>poi</artifactId>
  <version>3.9</version>
</dependency>
<dependency>
  <groupId>org.apache.poi</groupId>
  <artifactId>poi-ooxml</artifactId>
  <version>3.9</version>
</dependency>

工具類具體代碼:

package com.herbert.test;

import org.apache.poi.xwpf.usermodel.*;
import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTFonts;
import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTRPr;

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

/**
* Created by Herbert on 2019/1/22.
*/
public class WoldUtil {
 private static XWPFDocument document = null;

  private static XWPFParagraph paragraph = null;

  /**
  * 初始化創建Word文件
  */
  public WoldUtil(){
    document = new XWPFDocument();
  }

  /**
  * 創建一個段落
  * @param position 段落位置
  *         0:居左
  *         1:居中
  *         2:居右
  */
  public void createParagraph(Integer position){
    paragraph = document.createParagraph();
    switch (position){
      case 0:
        paragraph.setAlignment(ParagraphAlignment.LEFT);
        break;
      case 1:
        paragraph.setAlignment(ParagraphAlignment.CENTER);
        break;
      case 2:
        paragraph.setAlignment(ParagraphAlignment.RIGHT);
        break;
      default:
        paragraph.setAlignment(ParagraphAlignment.LEFT);
        break;
    }
  }

  /**
  * 單線邊框
  */
  public void createBorder(){

    paragraph.setBorderTop(Borders.THICK);//設置上邊框
    paragraph.setBorderBottom(Borders.THICK);//設置下邊框
    paragraph.setBorderLeft(Borders.THICK);//設置左邊框
    paragraph.setBorderRight(Borders.THICK);//設置右邊框
  }

  /**
  * 雙線邊框
  */
  public void createBorderDouble(){
    paragraph.setBorderTop(Borders.DOUBLE);//設置上邊框
    paragraph.setBorderBottom(Borders.DOUBLE);//設置下邊框
    paragraph.setBorderLeft(Borders.DOUBLE);//設置左邊框
    paragraph.setBorderRight(Borders.DOUBLE);//設置右邊框
  }

  /**
  * 首行縮進
  * @param indentation
  */
  public void addTextIndent(Integer indentation){
    paragraph.setIndentationFirstLine(indentation);
  }

  /**
  * 創建文本信息
  * @param text 文本信息
  * @param bold 是否加粗 true為加粗
  * @param italic 是否傾斜 true為傾斜
  * @param color 顏色碼
  * @param fontSize 字體大小
  * @param fontFamily 設置字體
  */
  public void createRun(String text, Boolean bold,Boolean italic, String color,Integer fontSize,String fontFamily){
    XWPFRun r = paragraph.createRun();//創建段落文本
    r.setText(text);
    r.setBold(bold);//設置為粗體 true 為粗體
    r.setItalic(italic);//設置為傾斜 true 為粗體
    r.setColor(color);//設置顏色
    r.setFontSize(fontSize);
    CTRPr rpr = r.getCTR().isSetRPr() ? r.getCTR().getRPr() : r.getCTR().addNewRPr();
    CTFonts fonts = rpr.isSetRFonts() ? rpr.getRFonts() : rpr.addNewRFonts();
    fonts.setAscii(fontFamily);
    fonts.setEastAsia(fontFamily);
    fonts.setHAnsi(fontFamily);

  }

  /**
  * 寫到磁盤
  * @param path
  */
  public void write(String path){
    try{
      FileOutputStream out = new FileOutputStream(path);
      document.write(out);
      out.close();
    }catch (IOException e){
      e.printStackTrace();
      System.out.println("文件出現錯誤");
    }

  }

  /**
  * 創建空行
  * @param counts 空行個數
  */
  public void createEmpty(Integer counts){
    for(int i =0;i<counts;i++){
      XWPFParagraph empty = document.createParagraph();
      XWPFRun e = empty.createRun();
      e.setText(" ");
    }
  }

  /**
  * 查詢wold中的數據 返回List 集合
  * @param path wold所在的地址
  * @return
  */
  public List<String> query(String path){
    List<String> list = new ArrayList<String>();
    try{
      FileInputStream stream = new FileInputStream(path);
      XWPFDocument doc = new XWPFDocument(stream);// 創建Word文件
      for(XWPFParagraph p : doc.getParagraphs()){//遍歷段落
        System.out.println(p.getParagraphText());
        list.add(p.getParagraphText());
      }
    }catch (Exception e){
      e.printStackTrace();
    }
    return list;
  }
  public static void main(String args[]) throws Exception {
    WoldUtil woldUtil = new WoldUtil();
    woldUtil.createParagraph(1);
    woldUtil.createBorder();
    woldUtil.createRun("(標題居中)Apache POI的組件", true, false,"000000",17,FontFamily.BLACKBODY);
    woldUtil.createBorderDouble();

    woldUtil.createParagraph(0);
    woldUtil.createRun("(邊框)Apache POI包含用于處理MS-Office的所有OLE2復合文檔的類和方法。該API的組件列表如下:", false,true, "4682B4",15,FontFamily.CHINESE_FINE_BLACK);

    woldUtil.createEmpty(3);

    woldUtil.createParagraph(0);
    woldUtil.addTextIndent(600);
    woldUtil.createRun("(首行縮進)? POIFS(不良混淆實現文件系統) - 此組件是所有其他POI元素的基本因素。它用于顯式讀取不同的文件", true,false,"A0522D",13,FontFamily.MICROSOFT_YAHEI);

    woldUtil.createEmpty(1);

    woldUtil.createParagraph(0);
    woldUtil.createRun("?HWPF(可怕的字處理器格式) - 用于讀寫MS-Word的.doc擴展文件。", true,false,"eeff00",13,FontFamily.MICROSOFT_YAHEI);

    woldUtil.write("E:\\herbert\\sample.doc");

    List<String> list =woldUtil.query("E:\\herbert\\sample.doc");
    System.out.println("list=====>>>>>>>>  "+list.toString());
  }
}

測試截圖

Java怎么基于poi操作Wold工具類

感謝你能夠認真閱讀完這篇文章,希望小編分享的“Java怎么基于poi操作Wold工具類”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

晋中市| 柘荣县| 合川市| 麻阳| 肃北| 吉木乃县| 宁强县| 湘乡市| 磐石市| 高雄市| 洛南县| 神池县| 宣汉县| 梨树县| 宜城市| 吉木萨尔县| 柏乡县| 长沙县| 北流市| 星座| 任丘市| 朝阳县| 安阳县| 惠东县| 罗平县| 河源市| 万源市| 通许县| 友谊县| 微博| 宜宾县| 五莲县| 阿拉善左旗| 天长市| 景东| 江川县| 新巴尔虎右旗| 柳河县| 蓬溪县| 大宁县| 普安县|