最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java如何基于poi操作Wold工具類

 更新時(shí)間:2020年03月25日 11:20:42   作者:摘星族  
這篇文章主要介紹了Java如何基于poi操作Wold工具類,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

Apache封裝的POI組件對(duì)Excel,Wold的操作已經(jīng)非常的豐富了,在項(xiàng)目上也會(huì)經(jīng)常用到一些POI的基本操作

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

這個(gè)類包含了一些對(duì)文本進(jìn)行換行,加粗,傾斜,字體顏色,大小,首行縮進(jìn),添加邊框等方法。分享給大家學(xué)習(xí)下:

  • Apache POI的組件:
  • ApachePOI包含用于處理MS-Office的所有OLE2復(fù)合文檔的類和方法。該API的組件列表如下 -
  • POIFS(不良混淆實(shí)現(xiàn)文件系統(tǒng)) - 此組件是所有其他POI元素的基本因素。它用于顯式讀取不同的文件。
  • HSSF(可怕的SpreadSheet格式) - 用于讀取和寫入.xls格式的MS-Excel文件。
  • XSSF(XML SpreadSheet格式) - 用于MS-Excel的.xlsx文件格式。
  • HPSF(可怕的屬性集格式) - 用于提取MS-Office文件的屬性集。
  • HWPF(可怕的字處理器格式) - 用于讀寫MS-Word的.doc擴(kuò)展文件。
  • XWPF(XML字處理器格式) - 用于讀寫MS-Word的.docx擴(kuò)展文件。
  • HSLF(可怕的幻燈片布局格式) - 用于閱讀,創(chuàng)建和編輯PowerPoint演示文稿。
  • HDGF(可怕的DiaGram格式) - 它包含MS-Visio二進(jìn)制文件的類和方法。
  • HPBF(可怕的PuBlisher格式) - 用于讀寫MS-Publisher文件。

下面就獻(xiàn)上代碼:

首先我們引入需要的第三方j(luò)ar包

<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;

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

  /**
  * 創(chuàng)建一個(gè)段落
  * @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);//設(shè)置上邊框
    paragraph.setBorderBottom(Borders.THICK);//設(shè)置下邊框
    paragraph.setBorderLeft(Borders.THICK);//設(shè)置左邊框
    paragraph.setBorderRight(Borders.THICK);//設(shè)置右邊框
  }

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

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

  /**
  * 創(chuàng)建文本信息
  * @param text 文本信息
  * @param bold 是否加粗 true為加粗
  * @param italic 是否傾斜 true為傾斜
  * @param color 顏色碼
  * @param fontSize 字體大小
  * @param fontFamily 設(shè)置字體
  */
  public void createRun(String text, Boolean bold,Boolean italic, String color,Integer fontSize,String fontFamily){
    XWPFRun r = paragraph.createRun();//創(chuàng)建段落文本
    r.setText(text);
    r.setBold(bold);//設(shè)置為粗體 true 為粗體
    r.setItalic(italic);//設(shè)置為傾斜 true 為粗體
    r.setColor(color);//設(shè)置顏色
    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("文件出現(xiàn)錯(cuò)誤");
    }

  }

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

  /**
  * 查詢wold中的數(shù)據(jù) 返回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);// 創(chuàng)建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("(標(biāo)題居中)Apache POI的組件", true, false,"000000",17,FontFamily.BLACKBODY);
    woldUtil.createBorderDouble();

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

    woldUtil.createEmpty(3);

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

    woldUtil.createEmpty(1);

    woldUtil.createParagraph(0);
    woldUtil.createRun("•HWPF(可怕的字處理器格式) - 用于讀寫MS-Word的.doc擴(kuò)展文件。", 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());
  }
}

測(cè)試截圖

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 基于java servlet過(guò)濾器和監(jiān)聽器(詳解)

    基于java servlet過(guò)濾器和監(jiān)聽器(詳解)

    下面小編就為大家?guī)?lái)一篇基于java servlet過(guò)濾器和監(jiān)聽器(詳解)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-10-10
  • Java中的DelayQueue源碼解析

    Java中的DelayQueue源碼解析

    這篇文章主要介紹了Java中的DelayQueue源碼解析,一個(gè)實(shí)現(xiàn)PriorityBlockingQueue實(shí)現(xiàn)延遲獲取的無(wú)界隊(duì)列,在創(chuàng)建元素時(shí),可以指定多久才能從隊(duì)列中獲取當(dāng)前元素,只有延時(shí)期滿后才能從隊(duì)列中獲取元素,需要的朋友可以參考下
    2023-12-12
  • java隨機(jī)驗(yàn)證碼生成實(shí)現(xiàn)實(shí)例代碼

    java隨機(jī)驗(yàn)證碼生成實(shí)現(xiàn)實(shí)例代碼

    這篇文章主要介紹了java隨機(jī)驗(yàn)證碼生成實(shí)現(xiàn)實(shí)例代碼的相關(guān)資料,需要的朋友可以參考下
    2017-05-05
  • Java使用WeakHashMap實(shí)現(xiàn)緩存自動(dòng)清理

    Java使用WeakHashMap實(shí)現(xiàn)緩存自動(dòng)清理

    在 Java 中,內(nèi)存管理是一個(gè)重要的話題,尤其是在涉及到緩存的實(shí)現(xiàn)時(shí),如果緩存項(xiàng)不再被使用,我們希望它們能被自動(dòng)清理,而不必手動(dòng)刪除,WeakHashMap 就是 Java 提供的一種用于緩存和內(nèi)存管理的工具,本文將深入探討如何利用 WeakHashMap 來(lái)實(shí)現(xiàn)緩存自動(dòng)清理
    2025-01-01
  • IDEA打包maven多模塊相互依賴項(xiàng)目全過(guò)程

    IDEA打包maven多模塊相互依賴項(xiàng)目全過(guò)程

    這篇文章主要介紹了IDEA打包maven多模塊相互依賴項(xiàng)目全過(guò)程,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-08-08
  • 深入淺出講解Java8函數(shù)式編程

    深入淺出講解Java8函數(shù)式編程

    不管是前端還是后端開發(fā)人員,學(xué)習(xí)一些函數(shù)式編程的思想和概念,對(duì)于手頭的開發(fā)工作和以后的職業(yè)發(fā)展,都是大有裨益的,下面這篇文章主要給大家介紹了關(guān)于Java8函數(shù)式編程的相關(guān)資料,需要的朋友可以參考下
    2022-01-01
  • java隨機(jī)字符補(bǔ)充版

    java隨機(jī)字符補(bǔ)充版

    今天在zuidaimai看到一個(gè)java隨機(jī)字符生成demo,正好要用,但發(fā)現(xiàn)不完整,重新整理一下,分享給有需要的朋友
    2014-01-01
  • Java中的數(shù)組基礎(chǔ)知識(shí)學(xué)習(xí)教程

    Java中的數(shù)組基礎(chǔ)知識(shí)學(xué)習(xí)教程

    這篇文章主要介紹了Java中的數(shù)組基礎(chǔ)知識(shí)學(xué)習(xí)教程,文中同時(shí)也整理了Java對(duì)數(shù)字類型的支持狀況及Number類中的方法,需要的朋友可以參考下
    2016-02-02
  • SpringBoot集成swagger3.0指南分享

    SpringBoot集成swagger3.0指南分享

    本文介紹了如何在Spring Boot項(xiàng)目中集成Swagger 3.0,包括添加依賴、配置Swagger、在Controller上添加注解以及配置訪問(wèn)權(quán)限
    2024-11-11
  • java8實(shí)現(xiàn)list集合中按照某一個(gè)值相加求和,平均值等操作代碼

    java8實(shí)現(xiàn)list集合中按照某一個(gè)值相加求和,平均值等操作代碼

    這篇文章主要介紹了java8實(shí)現(xiàn)list集合中按照某一個(gè)值相加求和,平均值等操作代碼,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-08-08

最新評(píng)論

黎川县| 福清市| 江陵县| 汉川市| 鱼台县| 永吉县| 布尔津县| 永平县| 金秀| 太康县| 同德县| 利津县| 赤水市| 通化县| 台南市| 灵宝市| 延川县| 乳山市| 丰镇市| 衡阳市| 宁津县| 永安市| 安新县| 南汇区| 尉犁县| 霍林郭勒市| 舒城县| 安岳县| 余庆县| 罗平县| 曲松县| 英德市| 常宁市| 通河县| 偏关县| 尚义县| 凤冈县| 长垣县| 仪陇县| 松滋市| 拜城县|