Skip to content
Related Articles

Related Articles

Improve Article
Save Article
Like Article

Java Program to Add Tables to a Word Document

  • Difficulty Level : Medium
  • Last Updated : 24 Jun, 2021

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.

Attention reader! Don’t stop learning now. Get hold of all the important Java Foundation and Collections concepts with the Fundamentals of Java and Java Collections Course at a student-friendly price and become industry ready. To complete your preparation from learning a language to DS Algo and many more,  please refer Complete Interview Preparation Course.

Accessing word file using java

A Jar file is an Zip archive containing one or multilple 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();
 
        // Attibutes 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 th input

 

 




My Personal Notes arrow_drop_up
Recommended Articles
Page :