首页 > 编程语言 >【java】在word指定书签处插入多个字符串

【java】在word指定书签处插入多个字符串

时间:2024-12-10 23:10:54浏览次数:6  
标签:node java builder list bookmarkName 书签 param var word

1. 插入多个字符串,不加换行符

    /**
     * 插入字符串列表
     *
     * @param node
     * @param bookmarkName 书签名称
     * @param list
     */
    public static void writeStringList(Node node, String bookmarkName, List<String> list) {
        try {
            var doc = (Document) node.getDocument();
            var bm = node.getRange().getBookmarks().get(bookmarkName);
            var builder = new DocumentBuilder(doc);
            builder.moveToBookmark(bookmarkName);
            for (var i : list) {
                builder.write(i);       // 要插入换行符可以在字符串尾部加"\n"
            }
            bm.remove();
        } catch (Exception e) {
            log.error("插入字符串列表异常: error = {}", e.getMessage());
            throw new BadException(e.getMessage());
        }
    }

  2. 插入多个段落,每个字符串后加一个换行符

    /**
     * 写入多个段落
     *
     * @param node
     * @param bookmarkName 书签名称
     * @param list
     */
    public static void writeParagraphs(Node node, String bookmarkName, List<String> list) {
        try {
            var doc = (Document) node.getDocument();
            var bm = node.getRange().getBookmarks().get(bookmarkName);
            var builder = new DocumentBuilder(doc);
            builder.moveToBookmark(bookmarkName);
            for (var i : list) {
                builder.writeln(i);
            }
            bm.remove();
        } catch (Exception e) {
            log.error("插入段落异常: error = {}", e.getMessage());
            throw new BadException(e.getMessage());
        }
    }

  

标签:node,java,builder,list,bookmarkName,书签,param,var,word
From: https://www.cnblogs.com/joeblackzqq/p/18598199

相关文章

  • 什么是 Java 中的 JIT(Just-In-Time)?
    Java中的JIT(Just-In-Time)编译器1.JIT的定义JIT(Just-In-Time)编译器是一种用于Java虚拟机(JVM)的动态编译技术。它在Java程序运行时,将Java字节码(Bytecode)转换为本地机器代码,从而提高程序的运行效率。位置:JIT是JVM的一部分,内嵌在JVM内部。目标:提升字节码执行的速度......
  • A306 基于Java+jsp+SQL的社交论坛 BBS 源码 文档
    社交论坛的设计与实现1.摘要2.开发目的和意义2.1系统开发目的2.2系统开发意义3.系统功能设计4.系统界面截图5.源码获取1.摘要摘要随着信息技术的快速发展,人与人之间交流方式越来越先进。在当今时代,QQ、留言板、博客、微信等已成为人们彼此沟通、交流信息的主要......
  • 【JAVA项目】基于ssm的【汽车在线销售系统】
    【JAVA项目】基于ssm的【汽车在线销售系统】技术简介:采用JSP技术、B/S架构、SSM框架、MySQL技术等实现。系统简介:首页汽车在线销售系统模块如下:首页、汽车信息、新闻资讯、留言反馈、我的收藏管理等功能。管理员输入个人的账号、密码登录系统,这时候系统的数据库就会在进行查......
  • 你了解 Java 的类加载器吗?
    Java类加载器(ClassLoader)Java中的类加载器是用于加载.class文件到JVM中的组件,它的核心作用是将字节码(.class文件)加载到内存,并且使它能够被JVM执行。类加载器决定了类的加载顺序和加载方式,是Java应用程序在运行时执行的重要部分。1.类加载器的基本概念类加载器:Java......
  • Java 中的字符串常量池和运行时常量池
    Java中的字符串常量池和运行时常量池1.字符串常量池(StringConstantPool)定义字符串常量池是JVM内存中专门用于存储字符串字面量和通过intern()方法加入的字符串对象的区域。它的目的是避免重复创建相同的字符串对象,以节省内存,并提高性能。如何工作每当遇到一个字符串......
  • 使用 Hutool 在 Java 中生成验证码
    文章目录详细步骤1.安装JDK和IDE2.创建Maven项目3.添加Hutool依赖4.编写验证码生成代码5.运行代码6.查看结果详细步骤1.安装JDK和IDE安装JDK访问OracleJDK或OpenJDK网站下载适合你操作系统的JDK版本。按照安装向导完成安装,并配置环境......
  • 什么是 Java 中的常量池?
    Java中的常量池Java中的常量池(ConstantPool)是用于存放程序中常量(如字符串、数字、类、方法等)的内存区域。常量池的主要作用是提高内存的使用效率和性能,避免重复创建相同的常量实例。常量池主要分为两种类型:1.字符串常量池(StringConstantPool)定义:字符串常量池是JVM在......
  • 什么是 Java 中的直接内存(堆外内存)?
    Java中的直接内存(堆外内存)在Java中,直接内存(DirectMemory)指的是不受JVM堆管理的内存区域,也称为堆外内存。直接内存的使用通常与JavaNIO(NewI/O)相关,尤其是通过ByteBuffer.allocateDirect()方法分配的内存。1.直接内存的特点不在堆中:直接内存不属于JVM堆内存,也不受......
  • Java 中堆和栈的区别是什么?
    Java中堆和栈的区别Java中的堆(Heap)和栈(Stack)是两种不同的内存区域,它们有着不同的用途和特点。以下是它们的主要区别:1.存储内容堆:用于存储对象实例以及类的实例变量。所有通过new关键字创建的对象都会分配在堆中。栈:用于存储方法调用时的局部变量和方法的执行上下文(如方......
  • Java基础(三)【循环语句】
    目录前言循环语句1:for循环结构1.1for循环结构1.2案例1(输出数据)1.3案例2(求和思想)1.4案例3(求偶数和)1.5案例4(水仙花数)1.6案例5(统计思想)1.7案例6(回文数)1.8案例7(逢七过)2:while循环结构2.1while循环结构2.2案例1(求奇数和)2.3案例2(珠穆朗玛峰)3:do-w......