Java生成并导出word文档,操作word文档

2023-11-12

word文档作为办公的重要文件格式,有时候我们会需要我们的java程序直接将计算得到的结果生成word文档,方便取用,这里我们使用第三方包iText来实现

1、首先在Eclipse上新建一个Java工程,我取名为Java2Word,本经验只简单介绍一些iText的api,更多的api请自行百度

2、项目需要用到这三个jar包,将他们拷贝到项目的根目录并BuildPath

itext-2.1.7.jar

itext-asian.jar

itext-rtf-2.1.7.jar

2.1如果是maven项目,则添加如下依赖

<!-- 在线生成文档的jar包 -->
<dependency>
   <groupId>com.lowagie</groupId>
   <artifactId>itext</artifactId>
   <version>2.1.7</version>
</dependency>

<dependency>
   <groupId>com.lowagie</groupId>
   <artifactId>itext-rtf</artifactId>
   <version>2.1.7</version>
</dependency>

3、将三个jar包Buildpath到依赖里

4、照例贴上完整代码,直接复制可运行

import java.awt.Color;    

import java.io.FileNotFoundException;    

import java.io.FileOutputStream;    

import com.lowagie.text.Document;    

import com.lowagie.text.DocumentException;    

import com.lowagie.text.Font;    

import com.lowagie.text.PageSize;    

import com.lowagie.text.Paragraph;    

import com.lowagie.text.rtf.RtfWriter2;  

/**   

  * 创建word文档 步骤:    

  * 1,建立文档    

  * 2,创建一个书写器    

  * 3,打开文档    

  * 4,向文档中写入数据    

  * 5,关闭文档   

  */   

 public class Java2word {    

    

  public Java2word() {    

  }    

    

  /**   

   * @param args   

   */   

  public static void main(String[] args) {    

 creatDoc("C:/Users/Administrator/Desktop/test/经验.doc",

 "百度经验\n多多浏览");

  }

 

public static void creatDoc(String path,String text) {

//设置纸张的大小  

  Document document = new Document(PageSize.A4);   

  try {    

//创建word文档

   RtfWriter2.getInstance(document,new FileOutputStream(path));    

   //打开文档

   document.open();    

 

  //创建段落

  Paragraph p = new Paragraph(text,new Font(Font.NORMAL, 10, Font.BOLD, new Color(0, 0, 0)) );    

  //设置段落为居中对齐

  p.setAlignment(Paragraph.ALIGN_CENTER);    

  //写入段落

      document.add(p);    

      //关流

      document.close();    

  } catch (FileNotFoundException e) {    

   e.printStackTrace();    

  } catch (DocumentException e) {    

   e.printStackTrace();    

  } 

}    

 }   

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Java生成并导出word文档,操作word文档 的相关文章

  • JavaFX 图像未在舞台中显示

    我尝试了很多次 尝试了很多方法 但都无法让自己的形象在舞台上如我所愿 我认为这可能与java寻找资源的路径有关 但我不确定 因为我刚刚开始使用视觉库 在本例中为JavaFX 这是我的目录结构 MyProject assets img myI
  • 在Java中使用命令行编译多个包

    您好 我一直在使用 IDE 但现在我需要从命令行运行和编译 问题是我有多个软件包 我试图找到答案 但没有任何效果 所以我有 src Support java files Me java files Wrapers java files 你知
  • 无法在类对象的 ArrayList 中存储值。 (代码已编辑)

    这基本上是一个 Java 代码转换器 它涉及一个 GUI 让用户输入类类型 名称和方法 为了存储值 我创建了一个类VirtualClass与ArrayList
  • 如何在远程 WebSphere 上进行 JNDI 查找期间解决 sun/io/MalformedInputException

    我使用 WebSphere 8 5 来托管我的应用程序 并在应用程序服务器上配置了一些 JDBC 资源 我还使用瘦客户端运行时库开发了一个客户端应用程序 当按以下方式执行 JNDI 查找时 env put Context INITIAL C
  • 使用 ChannelExec 的命令未执行 - Jsch

    我正在使用 Jsch 在服务器中创建一个文件并执行一些命令 对于文件创建 它工作正常 但是对于命令执行 则不然 它保持状态 1 仍在处理它 并永远保持该状态 这种情况发生在 shell 执行或我尝试成为 root 时 请按照以下方法操作 p
  • 如何比较 Struts 2 中 url 请求参数中的单个字符

    我正在读取具有单个字符的 url 参数 它将是Y or N 我必须写一个条件来检查它是否Y or N并做相应的事情 这是我写的 但似乎不起作用 总是转到其他地方 网址是
  • 将过滤器添加到 Eclipse 中的 Project Explorer

    我想向 Project Explorer 添加一个新的过滤器 以向用户隐藏一些在 Eclipse RCP 应用程序中自动创建的项目 到目前为止我已经找到了两个扩展点 org eclipse ui ide resourceFilters 允许
  • Java Microsoft Excel API [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 如何在 Eclipse 中使用其他外部 jar 依赖项创建不可运行/不可执行的 jar

    我无法通过 Eclipse 导出向导创建普通的 jar 不可运行 不可执行 它仅创建 jar 文件 但不会导出依赖的 jar 从而在从其他类调用导出的 jar 的方法时出现错误 请帮助 非常感谢 kurellajunior的建议 它是通过使
  • 异步迭代器

    我有以下代码 while slowIterator hasNext performLengthTask slowIterator next 由于迭代器和任务都很慢 因此将它们放入单独的线程中是有意义的 这是对迭代器包装器的快速而肮脏的尝试
  • Java:java.util.ConcurrentModificationException

    我正在制作 2D 目前正在研究用子弹射击 子弹是一个单独的类 所有项目符号都存储在称为项目符号的数组列表中 当它超出屏幕一侧 Exception in thread main java util ConcurrentModification
  • 带有 OpenId 提供程序的 Java Spring 安全性

    我有一个 spring MVC 应用程序 另一个客户端应用程序想要使用 open id connect 访问我的 spring 应用程序 如何在服务器端实现开放ID提供商 请帮忙 MITREid 连接 OpenID Connect Java
  • 创建正则表达式匹配数组

    在Java中 我试图将所有正则表达式匹配返回到一个数组 但似乎您只能检查模式是否匹配某些内容 布尔值 如何使用正则表达式匹配来形成与给定字符串中的正则表达式匹配的所有字符串的数组 4城堡的回答 https stackoverflow com
  • 了解 Spark 中的 DAG

    问题是我有以下 DAG 我认为当需要洗牌时 火花将工作划分为不同的阶段 考虑阶段 0 和阶段 1 有些操作不需要洗牌 那么为什么 Spark 将它们分成不同的阶段呢 我认为跨分区的实际数据移动应该发生在第 2 阶段 因为这里我们需要cogr
  • 使用 secp256r1 曲线和 SHA256 算法生成 ECDSA 签名 - BouncyCastle

    我正在尝试使用带有 secp256r1 曲线 P256 的 ECDSA 和用于消息哈希的 SHA256 算法生成签名 我也在使用 Bouncy Castle 库 下面的代码 public class MyTest param args pu
  • 如何解决 PDFBox 没有 unicode 映射错误?

    我有一个现有的 PDF 文件 我想使用 python 脚本将其转换为 Excel 文件 目前正在使用PDFBox 但是存在多个类似以下错误 org apache pdfbox pdmodel font PDType0Font toUnico
  • 公共方法与公共 API

    在干净的代码书中 有一个观点是 公共 API 中的 Javadocs 同样 Effective java 一书也有这样的内容 项目 56 为所有公开的 API 元素编写文档注释 所以这就是我的问题 所有公共方法都被视为公共 API 吗 它们
  • 失败时石英重试

    假设我有一个这样配置的触发器
  • 防止Java实例化的正确方法[关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 如何捕获 try-with-resource 语句中 close 方法抛出的异常

    我正在读关于try with resourceJava 中的语句可用于指定任意数量的资源 try Resource1 res1 initialize code Resource1 res2 initialize code statement

随机推荐

  • Flask 学习-70.Flask-RESTX 注册接口实例

    前言 注册接口主要是密码需要加密 用到werkzeug security 模块的2个方法generate password hash check password hash 数据库操作用到Flask SQLAlchemy 相关的基础配置就不
  • 如何利用路由器连接wifi并将wifi网络分发出去

    有时候 我们的wifi网络设置了最大连接数 该数字小于我们的需求数 我们可以考虑利用路由器来进一步分发wifi网络 下面以tp link的产品为例介绍如何分发网络 1 开启路由器 让其发出广播信号 2 使用电脑无线功能连接该路由器 登录路由
  • Vue项目this.$router.push()找不到push问题

    在使用Vue cli开发项目时 我喜欢使用Es6语法 但在使用语法跳路由时却会受到报错 因为Es6的箭头函数的this指向的是最近的一个this 而不是全局的 所以会造成找不到路由方法的问题 解决方法 使用传统语法 XXX function
  • 7-4 多态练习-计算面积

    定义三个类 父类 抽象类 GeometricObject代表几何形状 子类Circle代表圆形 子类Rectangle代表矩形 具体属性和方法如下 父类 抽象类 GeometricObject 属性 private String color
  • 华硕主板BIOS设置虚拟化技(virtualization technology)

    华硕主板BIOS设置虚拟化技 virtualization technology 背景 环境介绍 win安装docker介绍 bios虚拟技术是否开启检查 虚拟技术开启 打开bios设置 虚拟技术设置 参考文献 背景 从2013开始 doc
  • A,NS,cname,forward,txt,aaaa记录讲解

    最近刚好处理DNS问题比较多 对DNS复习一下基础知识 在DNS域名解析中 记录存在很多种 例如主要的A记录 NS记录 CNAME记录 FORWARD记录 还有X记录等等 现在就对它们的区别与联系做总结 1 A记录 A记录又称IP指向 用户
  • 前端面试题总结带答案(持续更新)

    Vue面试题 1 什么是 vue 生命周期 Vue 实例从创建到销毁的过程 就是生命周期 也就是从开始创建 初始化数据 编译模板 挂载Dom 渲染 更新 渲染 卸载等一系列过程 我们称这是 Vue 的生命周期 它可以总共分为8个阶段 创建前
  • 音乐铃声解析提取API接口

    接口地址 https api hackeus cn api kgring 请求协议 HTTP HTTPS 请求方式 GET POST 返回格式 JSON 请求示例 https api hackeus cn api kgring api ke
  • intellij IDEA中我一运行程序,就提示我edit configuration

    因为你直接使用open来打开别人的项目 所以有问题 正确方法 重新打开intellij界面 使用import来导入别人的项目
  • [UnityShader入门精要读书笔记]06.顶点/片元着色器基本结构

    Unity Shader基本结构包含Shader Properties SubShader FallBack等语义块 结构如下 Shader MyShaderName Properties 属性 SubShader 针对显卡A的SubSha
  • GoWeb——处理XML文件

    目录 处理XML文件 1 解析XML文件 2 生成XML文件 处理XML文件 XML eXtensible Markup Language 可扩展标记语言 是一种数据表示格式 可以描述非常复杂的数据结构 常用于传输和存储数据 1 解析XML
  • x86 calling conventions

    原文地址 http en wikipedia org wiki X86 calling conventions x86 calling conventions From Wikipedia the free encyclopedia Thi
  • 无监督分类的4种方法

    1 等宽法 类似于制作频数分布图 将属性分布值分为几个等分的分布区间 2 等频法 将相同数量的记录放入每个区间 3 基于聚类的分析方法 将属性按照K means算法进行聚类 然后根据聚类的分类 将同一聚类的记录合并到同一组内 4 模拟退火法
  • mysql 修改 sql model_mysql 开发基础系列22 SQL Model(带迁移事项)

    一 概述 与其它数据库不同 mysql 可以运行不同的sql model 下 sql model 定义了mysql应用支持的sql语法 数据校验等 这样更容易在不同的环境中使用mysql sql model 常用来解决下面几类问题 1 通过
  • tensorflow2.0(一)----多层感知机(MLP)

    在TensorFlow 1 X版本中 调用tf enable eager execution 函数启动Eager Execution模式 则需要调用tf compat v1 disable eager execution 函数 张量流使用张
  • ubuntu20.04 安装 Qt5.15

    目录 安装前工作 选择安装QT的哪个版本 安装时候选择哪些组件 安装Qt5 15 在线安装 我选择的组件 源码包安装 测试 安装前工作 ubuntu20 04 3安装Qt6 22操作步骤 ubuntu安装qt6 sonicss的博客 CSD
  • php header expire,解决PHP Expires 导致CDN出现TCP_MISS

    因为这个缘故 CDN的 x Cache总是MISS TCP MISS 导致要回源 查了半个小时 终于找到原因了 问题图片 来自session c Authors Sascha Schumann Andrei Zmievski CACHE L
  • Mac电脑安装win10虚拟机,然后安装ensp教程

    我是M1版本的macbook air 找了海量资料经过不断拼凑出来了一份还算详细的教程吧 分享给用苹果电脑的网络初学者 目前这个未安装virtualbox的版本经过简单测试运行正常 如有问题欢迎兄弟们来讨论批评 一 在PD里面安装win10
  • idea import顺序_IntelliJ IDEA 自动导包设置(Auto Import)

    自动导包 Auto Import Auto Import 功能可以帮助我们自动删除无用的包 未被引用的 以及自动 Import 填充尚未导入的包 完全智能化地帮助我们在开发程序时 省略了导包的操作 大大优化了开发的效率 设置步骤 Setti
  • Java生成并导出word文档,操作word文档

    word文档作为办公的重要文件格式 有时候我们会需要我们的java程序直接将计算得到的结果生成word文档 方便取用 这里我们使用第三方包iText来实现 1 首先在Eclipse上新建一个Java工程 我取名为Java2Word 本经验只