zoukankan      html  css  js  c++  java
  • JAVA-使用POI读写Word

    使用APACHE下的POI读写Word

    内容出处https://study.163.com/course/courseMain.htm?courseId=1209288803

    APACHE官网连接

    https://apache.org/

    POI下载地址

    http://poi.apache.org/

    Examples例子

    https://svn.apache.org/repos/asf/poi/trunk/poi-examples/src/main/java/org/apache/poi/examples/xwpf/

    怎么搭建项目请看(是一模一样的)

    https://www.cnblogs.com/nxopen2018/p/14787443.html

    开始写代码

    word 97-03版本是用.doc后缀  用HWPF

    07-19版本是用.docx后缀   用XWPF

    对应的是两套函数方法

     创建Word,写入内容。源代码

    package my;
    
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileOutputStream;
    import java.io.IOException;
    import java.io.InputStream;
    
    import org.apache.poi.openxml4j.exceptions.InvalidFormatException;
    import org.apache.poi.util.Units;
    import org.apache.poi.xwpf.usermodel.ParagraphAlignment;
    import org.apache.poi.xwpf.usermodel.UnderlinePatterns;
    import org.apache.poi.xwpf.usermodel.XWPFDocument;
    import org.apache.poi.xwpf.usermodel.XWPFParagraph;
    import org.apache.poi.xwpf.usermodel.XWPFRun;
    
    public class test
    {
    
        public static void main(String[] args) throws InvalidFormatException
        {
            // TODO Auto-generated method stub
    
            System.out.println("开始");
            
            //Word路径
            File file = new File("D:\1\2\123.docx");
            
            //png路径
            File filePng = new File("D:\1\2\阿飞头像.png");
            
            //创建一个文档 HWPFDocument , *.docx 对应XWPFDocument
            //*.doc对应
            XWPFDocument doc = new XWPFDocument();
            
            //添加一个段落
            XWPFParagraph p1 = doc.createParagraph();
            p1.setAlignment(ParagraphAlignment.CENTER);
            
            //添加一句
            XWPFRun r1 = p1.createRun();
            r1.setBold(true);
            r1.setText("你好JAVA");
            r1.setBold(true);
            r1.setFontFamily("Courier");
            r1.setFontSize(20);
            
            //在添加一句
            XWPFRun r2 = p1.createRun();
            r2.setBold(false);
            r2.setText("2021年5月21日");
            r2.setBold(true);
            r2.setFontFamily("Courier");
            r2.setUnderline(UnderlinePatterns.DASH);
            r2.setColor("FF0000");
            
            //在添加一个段落
            XWPFParagraph p2 = doc.createParagraph();
            p2.setAlignment(ParagraphAlignment.CENTER);
            
            //添加一句
            XWPFRun r = p2.createRun();
            r.setBold(true);
            r.setText(filePng.getName());
            r.setBold(true);
            r.setFontFamily("Courier");
            r.setFontSize(20);
            r.addBreak();
            
            //输出到文件
            try
            {
                //添加一个图片
                InputStream stream = new FileInputStream(filePng);
                
                r.addPicture(stream, 
                        XWPFDocument.PICTURE_TYPE_PNG, //图像格式
                        filePng.getAbsolutePath(), //文件全路径
                        Units.toEMU(350), Units.toEMU(350));//350x350 pixels
                
                stream.close();
                r.addBreak();
                
                FileOutputStream out = new FileOutputStream(file);
                doc.write(out);
                out.close();
                
            }catch(IOException e)
            {
                e.printStackTrace();
            }
            
            System.out.println("结束");
            
            
        }
    
    }

    演示

     程序员阿飞

    2021年5月21日

    作者: 阿飞

    出处: https://www.cnblogs.com/nxopen2018/>

    关于作者:专注NX开发、VC++开发、数据库、三维建模领域,请多多赐教!

    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出, 原文链接 如有问题, 可留言(博客文章底部留言)咨询.

  • 相关阅读:
    C# 中的高性能计时器(Daniel Strigl著,野比译)(转)
    C#中SerialPort类 随笔
    迭代器
    枚举数与可枚举类型(笔记)
    jQuery的关注与学习
    敏捷开发的4句宣言 大数据
    bat脚本
    c++动态库中回调函数使用
    C++中遍历lua table
    vs2010编译release版本却依赖debug版本库msvcrd100.dll
  • 原文地址:https://www.cnblogs.com/nxopen2018/p/14797464.html
Copyright © 2011-2022 走看看