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.