OpenCV (Open Source Computer Vision Library) is an open-source computer vision and machine learning software library. The library has more than 2500 optimized algorithms, which includes a comprehensive set of both classic and state-of-the-art computer vision. It has C++, Python, Java, and MATLAB interfaces and supports Windows, Linux, Android, and Mac OS.
OpenCV provides us various classes and interfaces to add/create a document in word. In, this article, we will be discussing all these classes as well as their implementation and the steps that how can we add word document using Java.
Accessing word file using java
A Jar file is an Zip archive containing one or multiple java class files. This makes the usage of libraries (consisting of multiple classes) more handy. Directories and Jar files are added to the classpath and available to the ClassLoader at runtime to find particular classes inside of it. We generally use .jar files to distribute Java applications or libraries, in the form of Java class files and associated metadata and resources (text, images, etc.). you can say JAR = Java ARchive.
We can read or access a java file using apache poi
Step 1: Download Apache POI API. You can download it from here
Step 2: Import .jar files. Extract jar files for your project, and add the following jar to your build path:
- poi
- poi-ooxml
- poi-ooxml-schemas
- poi-scratchpad
- ooxml-lib–>xmlbeans
Step 3: Create a new java file to write the code in it and add it to your project
Java classes for adding a table
XWPFDocument
- org.apache.poi.xwpf.usermodel.XWPFDocument
- used to create a document
XWPFTable
- org.apache.poi.xwpf.usermodel.XWPFTable
- used to create a simple table
XWPFTableRow
- org.apache.poi.xwpf.usermodel.XWPFTableRow
- used to add row to the table
Procedure: Below are the steps to implement the classes to add a document using Java
Step 1: Import classes like XWPFDocument, XWPFTable, XWPFTableRow of io.File package which helps in creating a document, adding the table to the document, and then adding rows to it.
Step 2: Create a document using class XWPFDocument and store it in a variable
Step 3: Create table using class XWPFTable
Step 4: Add rows
Add rows using class XWPFTableRow. We can add as much row as we want to and every time before creating a new row, we have to call the class XWPFTableRow
Implementation:
Sample input Image: In which rows are to be inserted
Example:
Java
// Java Program to Add Tables to a Word Document // Importing I/O file libraries import java.io.File; import java.io.FileOutputStream; import org.apache.poi.xwpf.usermodel.XWPFDocument; // Creating a simple table import org.apache.poi.xwpf.usermodel.XWPFTable; // Creating a row of the table import org.apache.poi.xwpf.usermodel.XWPFTableRow; // Java class converting tables to Word public class GFG { // Main driver method public static void main(String[] args) throws Exception { // Creating a blank Document XWPFDocument document = new XWPFDocument(); // Writing the Document in file system FileOutputStream out = new FileOutputStream( new File( "create_table.docx" )); // Creating a table XWPFTable table = document.createTable(); // Create first row in a table XWPFTableRow tableRowOne = table.getRow( 0 ); // Attributes added to the first table tableRowOne.getCell( 0 ).setText( "Geeks (0,0)" ); tableRowOne.addNewTableCell().setText( "For (0,1)" ); tableRowOne.addNewTableCell().setText( "Geeks (0,2)" ); // Creating a second row XWPFTableRow tableRowTwo = table.createRow(); // Attributes of second row tableRowTwo.getCell( 0 ).setText( "Geeks (1,0)" ); tableRowTwo.getCell( 1 ).setText( "For (1,1)" ); tableRowTwo.getCell( 2 ).setText( "Geeks (1,2)" ); // Creating a third row XWPFTableRow tableRowThree = table.createRow(); // Attributes of row tableRowThree.getCell( 0 ).setText( "Geeks (2,0)" ); tableRowThree.getCell( 1 ).setText( "For (2,1)" ); tableRowThree.getCell( 2 ).setText( "Geeks (2,2)" ); document.write(out); out.close(); // Display message when // all data to the rows are inserted System.out.println( "create_table.docx written successfully" ); } } |
Output: Image adding up rows in the input