java的XWPFDocument3.17版本学习

maven依赖


<dependency><groupId>org.apache.poi</groupId><artifactId>poi-ooxml</artifactId><version>3.17</version>
</dependency>

测试类:


import org.apache.poi.openxml4j.exceptions.InvalidFormatException;
import org.apache.poi.util.Units;
import org.apache.poi.xwpf.usermodel.*;
import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTColor;
import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTR;
import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTRPr;import java.io.*;public class WordMain {public static void main(String[] args) throws IOException, InvalidFormatException {// 创建一个XWPFDocument对象:XWPFDocument document = new XWPFDocument();// 添加段落(Paragraph)到文档中:XWPFParagraph paragraph1 = document.createParagraph();// 创建一个XWPFRun对象,并设置段落的文本内容、字体样式等// 多个段落就创建多个XWPFParagraph// 如果要在同一个段落中添加不同的文本格式,使用同一个XWPFParagraph,创建多个XWPFRun,分别对其进行样式设置即可XWPFRun run1 = paragraph1.createRun();run1.setText("hello word 文档");run1.setFontSize(12);run1.setBold(true);// 可以设置其他样式,如字体、颜色等// 创建一个CTColor对象,并设置颜色为红色(红色的RGB值为255, 0, 0)CTColor color = CTColor.Factory.newInstance();color.setVal("FF0000"); // 设置颜色为红色// 创建一个CTR对象,并设置CTR的属性CTR ctr = run1.getCTR();CTRPr ctrPr = ctr.addNewRPr();ctrPr.setColor(color);// 添加表格(Table)到文档中:int rows = 3;int cols = 4;XWPFTable table = document.createTable(rows, cols);// 遍历表格单元格,并设置内容for (int row = 0;row < rows; row++) {for (int col = 0; col < cols; col++) {XWPFTableCell cell = table.getRow(row).getCell(col);cell.setText("行 " + (row + 1) + " 列 " + (col + 1));}}// 创建新的断落设置内容1.5间距XWPFParagraph paragraph2 = document.createParagraph();paragraph2.setSpacingBetween(1.5, LineSpacingRule.AUTO);XWPFRun run2 = paragraph2.createRun();run2.setText("hello word 内容");// 插入图片String imagePath = "D://image.png";InputStream imageStream = new FileInputStream(imagePath);XWPFParagraph paragraph3 = document.createParagraph();XWPFRun run3 = paragraph3.createRun();// 图片格式为JPEGint format = XWPFDocument.PICTURE_TYPE_JPEG;run3.addPicture(imageStream, format, "image", Units.toEMU(400), Units.toEMU(200));// 将文档保存到文件FileOutputStream out = new FileOutputStream("D://test1.docx");document.write(out);out.close();// 将文档保存到输出流中(这个用于在前端点击导出时传入的HttpServletResponse)
//        HttpServletResponse response = null;
//        //获取输出流
//        OutputStream outputStream = response.getOutputStream();
//        //用文档写输出流
//        document.write(outputStream);
//        //刷新输出流
//        outputStream.flush();System.out.println("将文档保存成功!");}
}

结果:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/240578.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python+Playwright自动化测试--playwright处理浏览器多窗口切换

1.简介 浏览器多窗口的切换问题相比大家不会陌生吧&#xff0c;之前小编在javaselenium系列文章中就有介绍过。大致步骤就是&#xff1a;使用selenium进行浏览器的多个窗口切换测试&#xff0c;如果我们打开了多个网页&#xff0c;进行网页切换时&#xff0c;我们需要先获取各…

R软件包ConsensusCluster进行共识聚类(Consensus Clustering)

从下面论文看到这个方法&#xff1a; Wang, Xin, et al. "Deep learning using bulk RNA-seq data expands cell landscape identification in tumor microenvironment." Oncoimmunology 11.1 (2022): 2043662. 这篇论文基于 AI 方法对 bulk RNA-seq 数据识别肿瘤微环…

DAY14

问题一&#xff1a;面向对象与面向过程的区别于联系 1.区别 面向过程的最小单位是函数&#xff0c;强调功能行为&#xff0c;考虑的是怎么做 面向对象的最小单位是类&#xff0c;把功能封装到了对象里面&#xff0c;强调的是有功能的对象&#xff0c;考虑的是谁来做&#xf…

【平面几何】三角形的内心与内切圆(性质归纳)(下)

【平面几何】三角形的内心与内切圆&#xff08;性质归纳&#xff09;&#xff08;上&#xff09; 性质21. △ A B C \triangle ABC △ABC 的内切圆 I I I 分别切 B C BC BC, A C AC AC, A B AB AB 于 D D D, E E E, F F F. 设 B C BC BC 所对中位线是 K L KL KL, 则…

10、基于LunarLander登陆器的Dueling DDQN强化学习(含PYTHON工程)

10、基于LunarLander登陆器的Dueling DDQN强化学习&#xff08;含PYTHON工程&#xff09; LunarLander复现&#xff1a; 07、基于LunarLander登陆器的DQN强化学习案例&#xff08;含PYTHON工程&#xff09; 08、基于LunarLander登陆器的DDQN强化学习&#xff08;含PYTHON工程…

【Com通信】什么是Signal Group及为什么要用Signal Group

目录 前言 正文 1.Signal Group概念介绍 1.1 Initialization 1.2 Transmission 1.3 Reception 1.4 Notifications

【动态规划算法(dp算法)】之背包问题

文章目录 背包问题动规五部曲一、0-1背包问题 &#xff1a;限制物品不可重复 (要么不选 要么选一个)二、完全背包问题&#xff1a;不限制重复&#xff08;要么不选 要么可以多选&#xff09;&#xff08;完全背包可以转化为0-1背包问题&#xff09; 动态规划&#xff1a;01背包…

使用OpenCV4实现工业缺陷检测的六种方法

目录 1 机器视觉2 缺陷检测3 工业上常见缺陷检测方法 1 机器视觉 机器视觉是使用各种工业相机&#xff0c;结合传感器跟电气信号实现替代传统人工&#xff0c;完成对象识别、计数、测量、缺陷检测、引导定位与抓取等任务。其中工业品的缺陷检测极大的依赖人工完成&#xff0c;…

【平面几何】三角形的内心与内切圆(性质归纳)(上)

【平面几何】三角形的内心与内切圆&#xff08;性质归纳&#xff09; 注记: 三角形内切圆半径记为 r r r, 外接圆半径记为 R R R, 顶点 A A A 点所对的旁切圆半径记为 r A r_A rA​, 以此类推. 性质1-1. △ A B C \triangle ABC △ABC 的内切圆 I I I 分别切 B C BC B…

撤回聊天室消息, 再次加入聊天室, 仍然显示已经被撤销的消息

用户的聊天如果开启了拉取特定消息功能, 需要在后台做一下修改: 把聊天室 “加入聊天室获取指定消息类型” 加上 RC:RcCmd 消息类型, 这样就可以隐藏元消息 详情查看&#xff1a;融云-为用户提供IM即时通讯和实时音视频通信云服务

企业数据治理:(1)概述

目录 确定数据治理的规范与标准 设立与数据治理规范和标准相匹配的组织架构 明确数据治理的范围 制定切实可行的治理目标与实施计划 数据治理是企业IT系统建设当中的重要组成部分&#xff0c;是一种综合性的方法和实践&#xff0c;目的在确保数据的完整性、准确性和一致性。…

Redis Stream消息队列之基本语法与使用方式

前言 本文的主角是Redis Stream&#xff0c;它是Redis5.0版本新增加的数据结构&#xff0c;主要用于消息队列&#xff0c;提供了消息的持久化和主备复制功能&#xff0c;可以让任何客户端访问任何时刻的数据&#xff0c;并且能记住每一个客户端的访问位置&#xff0c;还能保证…

部署tomcat单机多实例,keepalived+mysql的互为主从高可用,mysql+keepalived高可用

部署tomcat单机多实例 在Tomcat中部署单机多实例是一种常见的做法&#xff0c;它允许您在同一台服务器上运行多个独立的Tomcat实例&#xff0c;每个实例都有自己的配置、日志和应用程序。 安装jdk环境 首先配置java环境 [roottomcat ~]# tar xf jdk-8u211-linux-x64.tar.gz…

代码随想录算法训练营第二十五天 | 回溯算法part2

目录 力扣题目 力扣题目记录 216.组合总和III 17.电话号码的字母组合 数字和字母如何映射 总结 力扣题目 用时&#xff1a;1h 1、216.组合总和III 2、17.电话号码的字母组合 力扣题目记录 216.组合总和III 这个题和昨天的组合差不多&#xff0c;就是判断条件发生了变化…

nodejs+vue+ElementUi会员制停车场车位系统

总之&#xff0c;智能停车系统使停车场管理工作规范化&#xff0c;系统化&#xff0c;程序化&#xff0c;避免停车场管理的随意性&#xff0c;提高信息处理的速度和准确性&#xff0c;能够及时、准确、有效的查询和修改停车场情况。 三、任务&#xff1a;小组任务和个人任务 智…

奇妙编程之旅:揭秘代码的黑科技

你见过哪些令你膛目结舌的代码技巧&#xff1f; 在这篇博客中&#xff0c;我们深入探讨了几个令人惊艳的代码技巧案例&#xff0c;展示了编程世界中的一些黑科技。让我们对这些案例进行一次总结&#xff1a; 列表解析的魔法&#xff1a; 使用列表解析一行代码生成九九乘法表&…

旅游海报图怎么做二维码展示?扫码即可查看图片

现在旅游攻略的海报可以做成二维码印刷在宣传单单页或者分享给用户来了解目的地的实际情况&#xff0c;出行路线、宣传海报等。用户只需要扫描二维码就可以查看内容&#xff0c;更加的方便省劲&#xff0c;那么旅游海报的图片二维码制作的技巧有哪些呢&#xff1f;使用图片二维…

2015年第四届数学建模国际赛小美赛A题飞机上的细长座椅解题全过程文档及程序

2015年第四届数学建模国际赛小美赛 A题 飞机上的细长座椅 原题再现&#xff1a; 航空公司座位是指在旅途中乘客可以乘坐的座位。一些航空公司现在推出了新的经济舱“超薄”座位。这些座椅除了重量较轻外&#xff0c;理论上还允许航空公司在不显著影响乘客舒适度的情况下增加运…

Postgresql处理JSON类型中替换某个属性值问题

一、问题描述 使用postgresql对json的特性使用sql批量处理json中某个属性的值 结构如下&#xff1a; {"id": 1,"parentId": 123,"globalParameters": [{"value": "date","boardId": 123,"canReName":…

STL中优先队列的模拟实现与仿函数的介绍

文章目录 仿函数优先队列的模拟实现 仿函数 上回我们说到&#xff0c;优先队列的实现需要用到仿函数的特性 让我们再回到这里 这里我们发现他传入的用于比较的东西竟然是一个类模板&#xff0c;而不是我们所见到的函数 我们可以先创建一个类&#xff0c;用于比较大小 struc…