msoffice.WriteinTemplate.java Source code

Java tutorial

Introduction

Here is the source code for msoffice.WriteinTemplate.java

Source

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package msoffice;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.List;

import org.apache.poi.openxml4j.exceptions.InvalidFormatException;
import org.apache.poi.openxml4j.opc.OPCPackage;
import org.apache.poi.xwpf.usermodel.XWPFDocument;
import org.apache.poi.xwpf.usermodel.XWPFParagraph;
import org.apache.poi.xwpf.usermodel.XWPFRun;

/**
 *
 * @author Oscar Chafloque
 */
public class WriteinTemplate {

    public static void main(String[] args) throws FileNotFoundException, InvalidFormatException, IOException {

        FileInputStream fis = new FileInputStream("H:\\OFICIOTEMPLATE.docx");
        XWPFDocument doc = new XWPFDocument(fis);

        for (XWPFParagraph p : doc.getParagraphs()) {

            for (XWPFRun r : p.getRuns()) {
                //System.out.println(r);
                String text = r.getText(0);

                System.out.println(text);
                if (text.contains("unidad")) {
                    text = text.replace("unidad", "CICTE/W-6.a/02.00");

                    r.setText(text, 0);
                    System.out.println(text);
                }

                if (text.contains("#receptor#")) {
                    text = text.replace("#receptor#",
                            "Gral Brig Jefe del Servicio de Material de Guerra del Ejrcito");

                    r.setText(text, 0);
                    System.out.println(text);
                }

                if (text.contains("#asunto#")) {
                    text = text.replace("#asunto#",
                            "Sobre artculo de MG (Armamento) y apoyo de elemento tcnico.");

                    r.setText(text, 0);
                    System.out.println(text);
                }

                if (text.contains("#referencia#")) {
                    text = text.replace("#referencia#", "Oficio N289/CICTE del 01 julio de 2015.");

                    r.setText(text, 0);
                    System.out.println(text);
                }

                if (text.contains("#cuerpo#")) {
                    text = text.replace("#cuerpo#",
                            "Tengo el honor de dirigirme a Ud., para manifestarle que en relacin a la solicitud de prstamo de una (01) ametralladora BROWNING Cal .50 y la participacin del elemento tcnico Tco 2da MAM Pacheco Tejada Henry, para las pruebas del vehculo blindado OTORONGO, las cuales se han suspendido y sern reprogramadas.\n"
                                    + "Asimismo, se informar de manera oportuna la fecha de realizacin de las pruebas del vehculo blindado OTORONGO, para poder contar con artculo de MG (Armamento) y apoyo de elemento tcnico solicitado.\n"
                                    + "Hago propicia la oportunidad para expresarle a Ud. los sentimientos de mi especial consideracin y estima personal.");

                    r.setText(text, 0);
                    System.out.println(text);
                }

            }

        }
        doc.write(new FileOutputStream("output.docx"));

    }

}