Apache POI Word - คู่มือฉบับย่อ

หลายครั้งจำเป็นต้องใช้แอปพลิเคชันซอฟต์แวร์เพื่อสร้างเอกสารอ้างอิงในรูปแบบไฟล์ Microsoft Word บางครั้งแอปพลิเคชันคาดว่าจะได้รับไฟล์ Word เป็นข้อมูลอินพุต

โปรแกรมเมอร์ Java ที่ต้องการสร้างไฟล์ MS-Office เป็นเอาต์พุตต้องใช้ API ที่กำหนดไว้ล่วงหน้าและอ่านอย่างเดียวจึงจะทำได้

Apache POI คืออะไร?

Apache POI เป็น API ยอดนิยมที่ช่วยให้โปรแกรมเมอร์สร้างแก้ไขและแสดงไฟล์ MS-Office โดยใช้โปรแกรม Java เป็นไลบรารีโอเพนซอร์สที่พัฒนาและเผยแพร่โดย Apache Software Foundation เพื่อออกแบบหรือแก้ไขไฟล์ MS-Office โดยใช้โปรแกรม Java ประกอบด้วยคลาสและวิธีการถอดรหัสข้อมูลอินพุตของผู้ใช้หรือไฟล์ลงในเอกสาร MS-Office

ส่วนประกอบของ Apache POI

Apache POI มีคลาสและวิธีการทำงานกับเอกสาร OLE2 Compound ทั้งหมดของ MS-Office รายการส่วนประกอบของ API นี้แสดงไว้ด้านล่าง -

  • POIFS (Poor Obfuscation Implementation File System)- ส่วนประกอบนี้เป็นปัจจัยพื้นฐานขององค์ประกอบ POI อื่น ๆ ทั้งหมด ใช้เพื่ออ่านไฟล์ต่าง ๆ อย่างชัดเจน

  • HSSF (Horrible SpreadSheet Format) - ใช้อ่านและเขียนไฟล์ MS-Excel ในรูปแบบ. xls

  • XSSF (XML SpreadSheet Format) - ใช้สำหรับรูปแบบไฟล์. xlsx ของ MS-Excel

  • HPSF (Horrible Property Set Format) - ใช้เพื่อแยกชุดคุณสมบัติของไฟล์ MS-Office

  • HWPF (Horrible Word Processor Format) - ใช้เพื่ออ่านและเขียนไฟล์นามสกุล. doc ของ MS-Word

  • XWPF (XML Word Processor Format) - ใช้อ่านและเขียน .docx ไฟล์นามสกุลของ MS-Word

  • HSLF (Horrible Slide Layout Format) - ใช้เพื่ออ่านสร้างและแก้ไขงานนำเสนอ PowerPoint

  • HDGF (Horrible DiaGram Format) - มีคลาสและวิธีการสำหรับไฟล์ไบนารี MS-Visio

  • HPBF (Horrible PuBlisher Format) - ใช้ในการอ่านและเขียนไฟล์ MS-Publisher

บทช่วยสอนนี้จะแนะนำคุณตลอดกระบวนการทำงานกับไฟล์ MS-Word โดยใช้ Java ดังนั้นการสนทนาจึง จำกัด อยู่ที่ส่วนประกอบ HWPF และ XWPF

Note- เวอร์ชันเก่าของ POI Support BINARY FILE FORMATS เช่น DOC, XLS, PPT, ETC เวอร์ชัน 3.5 เป็นต้นไป POI รองรับรูปแบบไฟล์ OOXML ของ MS-Office เช่น DOCX, XLSX, PPTX, ฯลฯ

บทนี้จะนำคุณเข้าสู่ขั้นตอนการตั้งค่า Apache POI บนระบบที่ใช้ Windows และ Linux Apache POI สามารถติดตั้งและรวมเข้ากับสภาพแวดล้อม Java ปัจจุบันของคุณได้อย่างง่ายดายโดยทำตามขั้นตอนง่ายๆไม่กี่ขั้นตอนโดยไม่ต้องมีขั้นตอนการตั้งค่าที่ซับซ้อน จำเป็นต้องมีการดูแลระบบผู้ใช้ขณะติดตั้ง

ความต้องการของระบบ

JDK Java SE 2 JDK 1.5 ขึ้นไป
หน่วยความจำ RAM 1 GB (แนะนำ)
พื้นที่ดิสก์ ไม่มีข้อกำหนดขั้นต่ำ
เวอร์ชันระบบปฏิบัติการ Windows XP ขึ้นไปลินุกซ์

ให้เราดำเนินการตามขั้นตอนเพื่อติดตั้ง Apache POI

ขั้นตอนที่ 1: ตรวจสอบการติดตั้ง Java ของคุณ

ก่อนอื่นคุณต้องติดตั้ง Java Software Development Kit (SDK) ในระบบของคุณ ในการตรวจสอบสิ่งนี้ให้ดำเนินการคำสั่งใด ๆ จากสองคำสั่งที่กล่าวถึงด้านล่างทั้งนี้ขึ้นอยู่กับแพลตฟอร์มที่คุณกำลังทำงานอยู่

หากการติดตั้ง Java ทำได้อย่างถูกต้องการติดตั้งจะแสดงเวอร์ชันปัจจุบันและข้อมูลจำเพาะของการติดตั้ง Java ของคุณ ตัวอย่างผลลัพธ์จะได้รับในตารางต่อไปนี้ -

แพลตฟอร์ม คำสั่ง ตัวอย่างผลลัพธ์
Windows

เปิดคอนโซลคำสั่งและพิมพ์ -

\>java –version

เวอร์ชัน Java "1.7.0_60"

Java (TM) SE Run Time Environment (บิวด์ 1.7.0_60-b19)

Java Hotspot (TM) 64-bit Server VM (build 24.60-b09, mixed mode)

ลินุกซ์

เปิดเทอร์มินัลคำสั่งแล้วพิมพ์ -

$java –version

เวอร์ชัน java "1.7.0_25"

เปิด JDK Runtime Environment (rhel-2.3.10.4.el6_4-x86_64)

เปิด JDK 64-Bit Server VM (สร้าง 23.7-b01 โหมดผสม)

  • เราถือว่าผู้อ่านของบทช่วยสอนนี้ติดตั้ง Java SDK เวอร์ชัน 1.7.0_60 ในระบบของตน

  • ในกรณีที่คุณไม่มี Java SDK ให้ดาวน์โหลดเวอร์ชันปัจจุบันจากไฟล์ https://www.oracle.com/technetwork/java/javase/downloads/index.html และติดตั้ง

ขั้นตอนที่ 2: ตั้งค่าสภาพแวดล้อม Java ของคุณ

ตั้งค่าตัวแปรสภาพแวดล้อม JAVA_HOME ให้ชี้ไปยังตำแหน่งไดเร็กทอรีฐานที่ติดตั้ง Java บนเครื่องของคุณ ตัวอย่างเช่น,

แพลตฟอร์ม คำอธิบาย
Windows ตั้งค่า JAVA_HOME เป็น C: \ ProgramFiles \ java \ jdk1.7.0_60
ลินุกซ์ ส่งออก JAVA_HOME = / usr / local / java-current

ผนวกพา ธ แบบเต็มของตำแหน่งคอมไพเลอร์ Java เข้ากับ System Path

แพลตฟอร์ม คำอธิบาย
Windows ต่อท้าย String "C: \ Program Files \ Java \ jdk1.7.0_60 \ bin" ต่อท้ายตัวแปรระบบ PATH
ลินุกซ์ ส่งออกเส้นทาง = $ PATH: $ JAVA_HOME / bin /

ดำเนินการคำสั่ง java - version จากพรอมต์คำสั่งตามที่อธิบายไว้ข้างต้น

ขั้นตอนที่ 3: ติดตั้ง Apache POI Library

ดาวน์โหลด Apache POI เวอร์ชันล่าสุดจาก https://poi.apache.org/download.htmlและคลายซิปเนื้อหาไปยังโฟลเดอร์ที่สามารถเชื่อมโยงไลบรารีที่ต้องการเข้ากับโปรแกรม Java ของคุณได้ ให้เราถือว่าไฟล์ถูกรวบรวมไว้ในโฟลเดอร์บนไดรฟ์ C

ภาพต่อไปนี้แสดงไดเร็กทอรีและโครงสร้างไฟล์ภายในโฟลเดอร์ที่ดาวน์โหลด -

เพิ่มเส้นทางที่สมบูรณ์ของทั้งห้า jars ตามที่ไฮไลต์ในภาพด้านบนไปยัง CLASSPATH

แพลตฟอร์ม คำอธิบาย
Windows

ต่อท้ายสตริงต่อไปนี้ต่อท้ายตัวแปรผู้ใช้ CLASSPATH -

“ C: \ poi-3.9 \ poi-3.9-20121203.jar;”

“ C: \ poi-3.9 \ poi-ooxml-3.9-20121203.jar;”

“ C: \ poi-3.9 \ poi-ooxml-schemas-3.9-20121203.jar;”

“ C: \ poi-3.9 \ ooxml-lib \ dom4j-1.6.1.jar;”

“ C: \ poi-3.9 \ ooxml-lib \ xmlbeans-2.3.0.jar; .;”

ลินุกซ์

ส่งออก CLASSPATH = $ CLASSPATH:

/usr/share/poi-3.9/poi-3.9-20121203.tar:

/usr/share/poi-3.9/poi-ooxml-schemas-3.9-20121203.tar:

/usr/share/poi-3.9/poi-ooxml-3.9-20121203.tar:

/usr/share/poi-3.9/ooxml-lib/dom4j-1.6.1.tar:

/usr/share/poi-3.9/ooxml-lib/xmlbeans-2.3.0.tar

บทนี้จะนำคุณเข้าสู่คลาสและวิธีการของ Apache POI สำหรับการจัดการเอกสาร Word

เอกสาร

นี่คืออินเทอร์เฟซเครื่องหมาย (อินเทอร์เฟซไม่มีวิธีการใด ๆ ) ที่แจ้งว่าคลาสที่นำไปใช้สามารถสร้างเอกสารคำได้

XWPFDocument

นี่คือคลาสภายใต้ org.apache.poi.xwpf.usermodelแพ็คเกจ ใช้ในการสร้างเอกสาร MS-Word ด้วยรูปแบบไฟล์. docx

วิธีการเรียน

ซีเนียร์ วิธีการและคำอธิบาย
1

commit()

ยอมรับและบันทึกเอกสาร

2

createParagraph()

เพิ่มย่อหน้าใหม่ในเอกสารนี้

3

createTable()

สร้างตารางว่างโดยมีหนึ่งแถวและหนึ่งคอลัมน์เป็นค่าเริ่มต้น

4

createTOC()

สร้างสารบัญสำหรับเอกสาร Word

5

getParagraphs()

ส่งคืนย่อหน้าที่เก็บข้อความของส่วนหัวหรือส่วนท้าย

6

getStyle()

ส่งคืนวัตถุสไตล์ที่ใช้

สำหรับวิธีการที่เหลือของคลาสนี้โปรดดูเอกสาร API ฉบับสมบูรณ์ที่ -

แพคเกจ org.apache.poi.openxml4j.opc.internal

XWPFaragraph

นี่คือคลาสภายใต้ org.apache.poi.xwpf.usermodelแพ็กเกจและใช้เพื่อสร้างย่อหน้าในเอกสารคำ อินสแตนซ์นี้ยังใช้เพื่อเพิ่มองค์ประกอบทุกประเภทลงในเอกสารคำ

วิธีการเรียน

ซีเนียร์ วิธีการและคำอธิบาย
1

createRun()

เพิ่มการวิ่งใหม่ในย่อหน้านี้

2

getAlignment()

ส่งกลับการจัดตำแหน่งย่อหน้าซึ่งจะใช้กับข้อความในย่อหน้านี้

3

setAlignment(ParagraphAlignment align)

ระบุการจัดตำแหน่งย่อหน้าที่จะใช้กับข้อความในย่อหน้านี้

4

setBorderBottom(Borders border)

ระบุเส้นขอบที่จะแสดงด้านล่างชุดของย่อหน้าซึ่งมีการตั้งค่าขอบย่อหน้าชุดเดียวกัน

5

setBorderLeft(Borders border)

ระบุเส้นขอบที่จะแสดงทางด้านซ้ายของหน้ารอบ ๆ ย่อหน้าที่ระบุ

6

setBorderRight(Borders border)

ระบุเส้นขอบที่จะแสดงทางด้านขวาของหน้ารอบ ๆ ย่อหน้าที่ระบุ

7

setBorderTop(Borders border)

ระบุเส้นขอบที่จะแสดงเหนือชุดของย่อหน้าซึ่งมีการตั้งค่าขอบย่อหน้าชุดเดียวกัน

สำหรับวิธีการที่เหลือของคลาสนี้โปรดดูเอกสาร API ฉบับสมบูรณ์ที่ -

เอกสาร POI API

XWPFRun

นี่คือคลาสภายใต้ org.apache.poi.xwpf.usermodel แพ็กเกจและใช้เพื่อเพิ่มพื้นที่ของข้อความในย่อหน้า

วิธีการเรียน

ซีเนียร์ วิธีการและคำอธิบาย
1

addBreak()

ระบุว่าการแบ่งจะถูกวางไว้ที่ตำแหน่งปัจจุบันในเนื้อหาการรัน

2

addTab()

ระบุว่าจะต้องวางแท็บที่ตำแหน่งปัจจุบันในเนื้อหาที่รัน

3

setColor(java.lang.String rgbStr)

ตั้งค่าสีข้อความ

4

setFontSize(int size)

ระบุขนาดฟอนต์ที่จะใช้กับอักขระสคริปต์ที่ไม่ซับซ้อนทั้งหมดในเนื้อหาของการรันนี้เมื่อแสดง

5

setText(java.lang.String value)

ตั้งค่าข้อความของการรันข้อความนี้

6

setBold(boolean value)

ระบุว่าจะใช้คุณสมบัติตัวหนากับอักขระสคริปต์ที่ไม่ซับซ้อนทั้งหมดในเนื้อหาของการรันนี้หรือไม่เมื่อแสดงในเอกสาร

สำหรับวิธีการที่เหลือของคลาสนี้โปรดดูเอกสาร API ฉบับสมบูรณ์ที่ -

เอกสาร POI API

XWPFS สไตล์

นี่คือคลาสภายใต้ org.apache.poi.xwpf.usermodel แพ็กเกจและใช้เพื่อเพิ่มสไตล์ต่างๆให้กับองค์ประกอบวัตถุในเอกสารคำ

วิธีการเรียน

ซีเนียร์ วิธีการและคำอธิบาย
1

getNextStyleID()

ใช้เพื่อรับ StyleID ของสไตล์ถัดไป

2

getStyleId()

ใช้เพื่อรับ StyleID ของสไตล์

3

getStyles()

ใช้เพื่อรับรูปแบบ

4

setStyleId(java.lang.String styleId)

ใช้เพื่อตั้งค่า styleID

สำหรับวิธีการที่เหลือของคลาสนี้โปรดดูเอกสาร API ฉบับสมบูรณ์ที่ -

เอกสาร POI API

XWPFTable

นี่คือคลาสภายใต้ org.apache.poi.xwpf.usermodel แพ็กเกจและใช้เพื่อเพิ่มข้อมูลตารางลงในเอกสารคำ

วิธีการเรียน

ซีเนียร์ วิธีการและคำอธิบาย
1

addNewCol()

เพิ่มคอลัมน์ใหม่สำหรับแต่ละแถวในตารางนี้

2

addRow(XWPFTableRow row, int pos)

เพิ่มแถวใหม่ในตารางที่ตำแหน่งตำแหน่ง

3

createRow()

สร้างออบเจ็กต์ XWPFTableRow ใหม่ที่มีเซลล์มากเท่าจำนวนคอลัมน์ที่กำหนดในช่วงเวลานั้น

4

setWidth(int width)

ตั้งค่าความกว้างของคอลัมน์

สำหรับวิธีการที่เหลือของคลาสนี้โปรดดูเอกสาร API ฉบับสมบูรณ์ที่: เอกสาร POI API

XWPFWordExtractor

นี่คือคลาสภายใต้ org.apache.poi.xwpf.extractorแพ็คเกจ เป็นคลาส parser พื้นฐานที่ใช้ในการแยกข้อความธรรมดาจากเอกสาร Word

วิธีการเรียน

ซีเนียร์ วิธีการและคำอธิบาย
1

getText()

ดึงข้อความทั้งหมดจากเอกสาร

สำหรับวิธีการที่เหลือของคลาสนี้โปรดดูเอกสาร API ฉบับสมบูรณ์ที่: เอกสาร POI API

ในที่นี้คำว่า 'เอกสาร' หมายถึงไฟล์ MS-Word หลังจากจบบทนี้คุณจะสามารถสร้างเอกสารใหม่และเปิดเอกสารที่มีอยู่โดยใช้โปรแกรม Java ของคุณ

สร้างเอกสารเปล่า

โปรแกรมง่ายๆต่อไปนี้ใช้สร้างเอกสาร MS-Word เปล่า -

import java.io.File;
import java.io.FileOutputStream;
import org.apache.poi.xwpf.usermodel.XWPFDocument;

public class CreateDocument {

   public static void main(String[] args)throws Exception  {
   
      //Blank Document
      XWPFDocument document = new XWPFDocument(); 
		
      //Write the Document in file system
      FileOutputStream out = new FileOutputStream( new File("createdocument.docx"));
      document.write(out);
      out.close();
      System.out.println("createdocument.docx written successully");
   }
}

บันทึกโค้ด Java ด้านบนเป็น CreateDocument.java, จากนั้นรวบรวมและดำเนินการจากพรอมต์คำสั่งดังต่อไปนี้ -

$javac  CreateDocument.java
$java CreateDocument

ถ้าสภาพแวดล้อมระบบของคุณถูกกำหนดค่าด้วยไลบรารี POI ระบบจะคอมไพล์และดำเนินการเพื่อสร้างไฟล์ Excel เปล่าที่ชื่อ createdocument.docx ในไดเร็กทอรีปัจจุบันของคุณและแสดงผลลัพธ์ต่อไปนี้ในพรอมต์คำสั่ง -

createdocument.docx written successfully

ในบทนี้คุณจะได้เรียนรู้วิธีสร้างย่อหน้าและวิธีเพิ่มลงในเอกสารโดยใช้ Java ย่อหน้าเป็นส่วนหนึ่งของหน้าในไฟล์ Word

หลังจากจบบทนี้แล้วคุณจะสามารถสร้างย่อหน้าและดำเนินการอ่านได้

สร้างย่อหน้า

ก่อนอื่นให้เราสร้างย่อหน้าโดยใช้คลาสอ้างอิงที่กล่าวถึงในบทก่อนหน้านี้ โดยทำตามบทก่อนหน้าให้สร้างเอกสารก่อนจากนั้นเราสามารถสร้างย่อหน้าได้

ข้อมูลโค้ดต่อไปนี้ใช้ในการสร้างสเปรดชีต -

//Create Blank document
   XWPFDocument document = new XWPFDocument();

//Create a blank spreadsheet
   XWPFParagraph paragraph = document.createParagraph();

เรียกใช้ย่อหน้า

คุณสามารถป้อนข้อความหรือองค์ประกอบวัตถุใด ๆ โดยใช้ Run. ใช้อินสแตนซ์ย่อหน้าที่คุณสามารถสร้างได้run.

ใช้ข้อมูลโค้ดต่อไปนี้เพื่อสร้างการเรียกใช้

XWPFRun run = paragraph.createRun();

เขียนลงในย่อหน้า

ให้เราลองป้อนข้อความลงในเอกสาร พิจารณาข้อมูลข้อความด้านล่าง -

At tutorialspoint.com, we strive hard to provide quality tutorials for self-learning
purpose in the domains of Academics, Information Technology, Management and Computer
Programming Languages.

รหัสต่อไปนี้ใช้เพื่อเขียนข้อมูลข้างต้นลงในย่อหน้า

import java.io.File;
import java.io.FileOutputStream;
import org.apache.poi.xwpf.usermodel.XWPFDocument;
import org.apache.poi.xwpf.usermodel.XWPFParagraph;
import org.apache.poi.xwpf.usermodel.XWPFRun;

public class CreateParagraph {

   public static void main(String[] args)throws Exception {

      //Blank Document
      XWPFDocument document = new XWPFDocument(); 
      
      //Write the Document in file system
      FileOutputStream out = new FileOutputStream(new File("createparagraph.docx"));
        
      //create Paragraph
      XWPFParagraph paragraph = document.createParagraph();
      XWPFRun run = paragraph.createRun();
      run.setText("At tutorialspoint.com, we strive hard to " +
         "provide quality tutorials for self-learning " +
         "purpose in the domains of Academics, Information " +
         "Technology, Management and Computer Programming
         Languages.");
			
      document.write(out);
      out.close();
      System.out.println("createparagraph.docx written successfully");
   }
}

บันทึกโค้ด Java ด้านบนเป็น CreateParagraph.java, จากนั้นคอมไพล์และเรียกใช้จากพรอมต์คำสั่งดังนี้ -

$javac CreateParagraph.java
$java CreateParagraph

มันจะรวบรวมและดำเนินการเพื่อสร้างไฟล์ Word ชื่อ createparagraph.docx ในไดเร็กทอรีปัจจุบันของคุณและคุณจะได้รับผลลัพธ์ต่อไปนี้ในพรอมต์คำสั่ง -

createparagraph.docx written successfully

createparagraph.docx ไฟล์มีลักษณะดังนี้

ในบทนี้คุณจะได้เรียนรู้วิธีการใช้เส้นขอบกับย่อหน้าโดยใช้การเขียนโปรแกรม Java

การใช้เส้นขอบ

รหัสต่อไปนี้ใช้เพื่อใช้ Borders ในเอกสาร -

import java.io.File;
import java.io.FileOutputStream;
import org.apache.poi.xwpf.usermodel.Borders;
import org.apache.poi.xwpf.usermodel.XWPFDocument;
import org.apache.poi.xwpf.usermodel.XWPFParagraph;
import org.apache.poi.xwpf.usermodel.XWPFRun;

public class ApplyingBorder {

   public static void main(String[] args)throws Exception {

      //Blank Document
      XWPFDocument document = new XWPFDocument(); 
        
      //Write the Document in file system
      FileOutputStream out = new FileOutputStream(new File("applyingborder.docx"));
        
      //create paragraph
      XWPFParagraph paragraph = document.createParagraph();
        
      //Set bottom border to paragraph
      paragraph.setBorderBottom(Borders.BASIC_BLACK_DASHES);
        
      //Set left border to paragraph
      paragraph.setBorderLeft(Borders.BASIC_BLACK_DASHES);
        
      //Set right border to paragraph
      paragraph.setBorderRight(Borders.BASIC_BLACK_DASHES);
        
      //Set top border to paragraph
      paragraph.setBorderTop(Borders.BASIC_BLACK_DASHES);
        
      XWPFRun run = paragraph.createRun();
         run.setText("At tutorialspoint.com, we strive hard to " +
         "provide quality tutorials for self-learning " +
         "purpose in the domains of Academics, Information " +
         "Technology, Management and Computer Programming " +
         "Languages.");
        
      document.write(out);
      out.close();
      System.out.println("applyingborder.docx written successully");
   }
}

บันทึกรหัสข้างต้นในไฟล์ชื่อ ApplyingBorder.java, รวบรวมและดำเนินการจากพรอมต์คำสั่งดังนี้ -

$javac ApplyingBorder.java
$java ApplyingBorder

หากระบบของคุณถูกกำหนดค่าด้วยไลบรารี POI ระบบจะคอมไพล์และดำเนินการเพื่อสร้างเอกสาร Word ที่มีชื่อว่า applyingborder.docx ในไดเร็กทอรีปัจจุบันของคุณและแสดงผลลัพธ์ต่อไปนี้ -

applyingborder.docx written successfully

applyingborder.docx ไฟล์มีลักษณะดังนี้ -

ในบทนี้คุณจะได้เรียนรู้วิธีสร้างตารางข้อมูลในเอกสาร คุณสามารถสร้างข้อมูลตารางโดยใช้XWPFTableชั้นเรียน. โดยการเพิ่มแต่ละRow ในตารางและเพิ่มแต่ละรายการ cell ถึง Row, คุณจะได้รับข้อมูลตาราง

สร้างตาราง

รหัสต่อไปนี้ใช้ในการสร้างตารางในเอกสาร -

import java.io.File;
import java.io.FileOutputStream;
import org.apache.poi.xwpf.usermodel.XWPFDocument;
import org.apache.poi.xwpf.usermodel.XWPFTable;
import org.apache.poi.xwpf.usermodel.XWPFTableRow;

public class CreateTable {

   public static void main(String[] args)throws Exception {

      //Blank Document
      XWPFDocument document = new XWPFDocument();
        
      //Write the Document in file system
      FileOutputStream out = new FileOutputStream(new File("create_table.docx"));
        
      //create table
      XWPFTable table = document.createTable();
		
      //create first row
      XWPFTableRow tableRowOne = table.getRow(0);
      tableRowOne.getCell(0).setText("col one, row one");
      tableRowOne.addNewTableCell().setText("col two, row one");
      tableRowOne.addNewTableCell().setText("col three, row one");
		
      //create second row
      XWPFTableRow tableRowTwo = table.createRow();
      tableRowTwo.getCell(0).setText("col one, row two");
      tableRowTwo.getCell(1).setText("col two, row two");
      tableRowTwo.getCell(2).setText("col three, row two");
		
      //create third row
      XWPFTableRow tableRowThree = table.createRow();
      tableRowThree.getCell(0).setText("col one, row three");
      tableRowThree.getCell(1).setText("col two, row three");
      tableRowThree.getCell(2).setText("col three, row three");
	
      document.write(out);
      out.close();
      System.out.println("create_table.docx written successully");
   }
}

บันทึกรหัสข้างต้นในไฟล์ชื่อ CreateTable.java. รวบรวมและดำเนินการจากพรอมต์คำสั่งดังต่อไปนี้ -

$javac CreateTable.java
$java CreateTable

มันสร้างไฟล์ Word ชื่อ createtable.docx ในไดเร็กทอรีปัจจุบันของคุณและแสดงผลลัพธ์ต่อไปนี้บนพรอมต์คำสั่ง -

createtable.docx written successfully

createtable.docx ไฟล์มีลักษณะดังนี้ -

บทนี้แสดงวิธีการใช้รูปแบบฟอนต์และการจัดแนวต่างๆในเอกสาร Word โดยใช้ Java โดยทั่วไปรูปแบบตัวอักษรประกอบด้วย: ขนาดตัวอักษรประเภทตัวหนาตัวเอียงและขีดเส้นใต้ และการจัดแนวจะแบ่งออกเป็นซ้ายกลางขวาและจัดชิดขอบ

รูปแบบตัวอักษร

รหัสต่อไปนี้ใช้เพื่อกำหนดรูปแบบตัวอักษรต่างๆ -

import java.io.File;
import java.io.FileOutputStream;

import org.apache.poi.xwpf.usermodel.VerticalAlign;
import org.apache.poi.xwpf.usermodel.XWPFDocument;
import org.apache.poi.xwpf.usermodel.XWPFParagraph;
import org.apache.poi.xwpf.usermodel.XWPFRun;

public class FontStyle {

   public static void main(String[] args)throws Exception {

      //Blank Document
      XWPFDocument document = new XWPFDocument(); 
        
      //Write the Document in file system
      FileOutputStream out = new FileOutputStream(new File("fontstyle.docx"));
        
      //create paragraph
      XWPFParagraph paragraph = document.createParagraph();
        
      //Set Bold an Italic
      XWPFRun paragraphOneRunOne = paragraph.createRun();
      paragraphOneRunOne.setBold(true);
      paragraphOneRunOne.setItalic(true);
      paragraphOneRunOne.setText("Font Style");
      paragraphOneRunOne.addBreak();
        
      //Set text Position
      XWPFRun paragraphOneRunTwo = paragraph.createRun();
      paragraphOneRunTwo.setText("Font Style two");
      paragraphOneRunTwo.setTextPosition(100);
 
      //Set Strike through and Font Size and Subscript
      XWPFRun paragraphOneRunThree = paragraph.createRun();
      paragraphOneRunThree.setStrike(true);
      paragraphOneRunThree.setFontSize(20);
      paragraphOneRunThree.setSubscript(VerticalAlign.SUBSCRIPT);
      paragraphOneRunThree.setText(" Different Font Styles");
        
      document.write(out);
      out.close();
      System.out.println("fontstyle.docx written successully");
   }
}

บันทึกรหัสด้านบนเป็น FontStyle.java จากนั้นรวบรวมและดำเนินการจากพรอมต์คำสั่งดังต่อไปนี้ -

$javac FontStyle.java
$java FontStyle

มันจะสร้างไฟล์ Word ชื่อ fontstyle.docx ในไดเร็กทอรีปัจจุบันของคุณและแสดงผลลัพธ์ต่อไปนี้บนพรอมต์คำสั่ง -

fontstyle.docx written successfully

fontstyle.docx ไฟล์มีลักษณะดังนี้

การจัดตำแหน่ง

รหัสต่อไปนี้ใช้เพื่อตั้งค่าการจัดแนวให้กับข้อความย่อหน้า -

import java.io.File;
import java.io.FileOutputStream;
import org.apache.poi.xwpf.usermodel.ParagraphAlignment;
import org.apache.poi.xwpf.usermodel.XWPFDocument;
import org.apache.poi.xwpf.usermodel.XWPFParagraph;
import org.apache.poi.xwpf.usermodel.XWPFRun;

public class AlignParagraph {

   public static void main(String[] args)throws Exception {

      //Blank Document
      XWPFDocument document = new XWPFDocument(); 
        
      //Write the Document in file system
      FileOutputStream out = new FileOutputStream(
      new File("alignparagraph.docx"));
        
      //create paragraph
      XWPFParagraph paragraph = document.createParagraph();
        
      //Set alignment paragraph to RIGHT
      paragraph.setAlignment(ParagraphAlignment.RIGHT);
      XWPFRun run = paragraph.createRun();
      run.setText("At tutorialspoint.com, we strive hard to " +
         "provide quality tutorials for self-learning " +
         "purpose in the domains of Academics, Information " +
         "Technology, Management and Computer Programming " +
         "Languages.");
        
      //Create Another paragraph
      paragraph = document.createParagraph();
        
      //Set alignment paragraph to CENTER
      paragraph.setAlignment(ParagraphAlignment.CENTER);
      run = paragraph.createRun();
      run.setText("The endeavour started by Mohtashim, an AMU " +
         "alumni, who is the founder and the managing director " +
         "of Tutorials Point (I) Pvt. Ltd. He came up with the " +
         "website tutorialspoint.com in year 2006 with the help" +
         "of handpicked freelancers, with an array of tutorials" +
         " for computer programming languages. ");
			
      document.write(out);
      out.close();
      System.out.println("alignparagraph.docx written successfully");
   }
}

บันทึกรหัสด้านบนเป็น AlignParagraph.java จากนั้นรวบรวมและดำเนินการจากพรอมต์คำสั่งดังต่อไปนี้ -

$javac AlignParagraph.java
$java AlignParagraph

มันจะสร้างไฟล์ Word ชื่อ alignparagraph.docx ในไดเร็กทอรีปัจจุบันของคุณและแสดงผลลัพธ์ต่อไปนี้ในพรอมต์คำสั่ง -

alignparagraph.docx written successfully

alignparagraph.docx ไฟล์มีลักษณะดังนี้ -

บทนี้อธิบายวิธีการแยกข้อมูลข้อความอย่างง่ายจากเอกสาร Word โดยใช้ Java ในกรณีที่คุณต้องการแยกข้อมูลเมตาจากเอกสาร Word ให้ใช้ Apache Tika

สำหรับไฟล์. docx เราใช้คลาส org.apache.poi.xwpf.extractor.XPFFWordExtractor ที่แยกและส่งคืนข้อมูลอย่างง่ายจากไฟล์ Word ในทำนองเดียวกันเรามีวิธีการที่แตกต่างกันในการแยกส่วนหัวเชิงอรรถข้อมูลตาราง ฯลฯ จากไฟล์ Word

รหัสต่อไปนี้แสดงวิธีการแยกข้อความธรรมดาจากไฟล์ Word -

import java.io.FileInputStream;
import org.apache.poi.xwpf.extractor.XWPFWordExtractor;
import org.apache.poi.xwpf.usermodel.XWPFDocument;

public class WordExtractor {

   public static void main(String[] args)throws Exception {

      XWPFDocument docx = new XWPFDocument(new FileInputStream("create_paragraph.docx"));
      
      //using XWPFWordExtractor Class
      XWPFWordExtractor we = new XWPFWordExtractor(docx);
      System.out.println(we.getText());
   }
}

บันทึกรหัสด้านบนเป็น WordExtractor.java. รวบรวมและดำเนินการจากพรอมต์คำสั่งดังต่อไปนี้ -

$javac WordExtractor.java
$java WordExtractor

มันจะสร้างผลลัพธ์ต่อไปนี้:

At tutorialspoint.com, we strive hard to provide quality tutorials for self-learning
purpose in the domains of Academics, Information Technology, Management and Computer
Programming Languages.