Java 在Word中创建表格

jazz-z 2020-04-21 原文

Java 在Word中创建表格

Word文档中,表格能使文本内容更加简洁明了,同时也能使数据展示更加清晰直观。 本文将介绍如何使Java代码Word文档中创建表格设置其单元格的背景颜色

 

Jar文件导入方法

方法一:

下载免费Free Spire.Doc for Java包并解压缩然后从lib文件夹下,Spire.Doc.jar包导入到你的Java应用程序中。导入成功如下图所示

 

 

方法二:

通过Maven仓库安装导入详细的操作步骤请参考链接:

https://www.e-iceblue.cn/licensing/install-spirepdf-for-java-from-maven-repository.html

 

Java代码示例

import com.spire.doc.*;
import com.spire.doc.documents.*;
import com.spire.doc.fields.TextRange;

import java.awt.*;

public class CreateTable {
    public static void main(String[] args) {
        //创建Word文档
        Document document = new Document();
        //添加一个section
        Section section = document.addSection();

        //数据
        String[] header = {"姓名", "性别", "部门", "工号"};
        String[][] data =
                {
                        new String[]{"Winny", "女", "综合", "0109"},
                        new String[]{"Lois", "女", "综合", "0111"},
                        new String[]{"Jois", "男", "技术", "0110"},
                        new String[]{"Moon", "女", "销售", "0112"},
                        new String[]{"Vinit", "女", "后勤", "0113"},
                };

        //添加表格
        Table table = section.addTable(true);
        //设置表格的行数和列数
        table.resetCells(data.length + 1, header.length);

        //设置第一行作为表格的表头并添加数据
        TableRow row = table.getRows().get(0);
        row.isHeader(true);
        row.setHeight(20);
        row.setHeightType(TableRowHeightType.Exactly);
        row.getRowFormat().setBackColor(Color.gray);
        for (int i = 0; i < header.length; i++) {
            row.getCells().get(i).getCellFormat().setVerticalAlignment(VerticalAlignment.Middle);
            Paragraph p = row.getCells().get(i).addParagraph();
            p.getFormat().setHorizontalAlignment(HorizontalAlignment.Center);
            TextRange range1 = p.appendText(header[i]);
            range1.getCharacterFormat().setFontName("Arial");
            range1.getCharacterFormat().setFontSize(12f);
            range1.getCharacterFormat().setBold(true);
        }

        //添加数据到剩余行
        for (int r = 0; r < data.length; r++) {
            TableRow dataRow = table.getRows().get(r + 1);
            dataRow.setHeight(25);
            dataRow.setHeightType(TableRowHeightType.Exactly);
            dataRow.getRowFormat().setBackColor(Color.white);
            for (int c = 0; c < data[r].length; c++) {
                dataRow.getCells().get(c).getCellFormat().setVerticalAlignment(VerticalAlignment.Middle);
                TextRange range2 = dataRow.getCells().get(c).addParagraph().appendText(data[r][c]);
                range2.getCharacterFormat().setFontName("Arial");
                range2.getCharacterFormat().setFontSize(10f);
            }
        }

        //设置单元格背景颜色
        for (int j = 1; j < table.getRows().getCount(); j++) {
            if (j % 2 == 0) {
                TableRow row2 = table.getRows().get(j);
                for (int f = 0; f < row2.getCells().getCount(); f++) {
                    row2.getCells().get(f).getCellFormat().setBackColor(new Color(173, 216, 230));
                }
            }
        }

        //保存文档
        document.saveToFile("创建表格.docx", FileFormat.Docx_2013);
    }
}

 

创建表格效果图:

 

 

 

 

发表于
2020-04-21 17:34 
Jazzz 
阅读(
评论(
编辑 
收藏

 

版权声明:本文为jazz-z原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/jazz-z/p/12746164.html

Java 在Word中创建表格的更多相关文章

  1. java_study

    安装开发环境JDK 是一个软件包,其中包含各种工具和实用程序,可以开发、打包、监控和部署为任何标准 Java 平台构建的应用程序,包括 Java 平台标准版 (Java SE); Java 平台,微型版 (Java ME);和 Jav...

  2. 云原生系列5 容器化日志之EFK

    上图是EFK架构图,k8s环境下常见的日志采集方式。 日志需求 1 集中采集微服务的日志,可以根据请求id追踪 […]...

  3. SpringBoot之Mybatis操作中使用Redis做缓存

    上一博客学习了SpringBoot集成Redis,今天这篇博客学习下Mybatis操作中使用Redis做缓存。 […]...

  4. ConcurrentHashMap之tableSizeFor()方法透析(位运算运用)

      ConcurrentHashMap和HashMap有如下方法 inttableSizeFor(int c) […]...

  5. JAVA 中的异常(1)- 基本概念 – 快乐随行

    JAVA 中的异常(1)- 基本概念 目录 1. JAVA中异常的定义 2. 异常体系 3. 常见的异常类列表 […]...

  6. volatile、static

    谈到 volatile、static 就必须说多线程。 1、一个线程在开始执行的时候,会开启一片自己的工作内存 […]...

  7. OutOfMemoryError 到底能不能被捕获?

    感觉中,OutOfMemeryError 是jvm抛出的异常,是不能被捕获的。 直到工作中真的遇到OOM异常, […]...

  8. Java 添加、读取、删除Excel文本框

    本文介绍通过Java程序添加文本框到Excel的方法,添加文本框时,可以添加文本、设置文本方向、文本对齐方式、 […]...

随机推荐

  1. Java-50个关键字

    关键字 (50个,包含2个保留字)和特殊值(3个)一、基本数据类型相关关键字(8个)  1、关键字介绍(1)b […]...

  2. 软件服务架构的一些感悟

    早想着要写一篇博客,但由于各种原因(其实因为懒),迟迟没有动笔。今日下决心,写写关于软件服务架构的一点感悟。 […]...

  3. 黄金分割——Φ(phi读[fai])1.618之美

    《达芬奇的密码》里有段关于黄金分割的讲述: ……PHI,1.618在艺术中有极其重要的地位 …… ……PHI源 […]...

  4. 利用 Chrome 原生功能截图网页全图

    利用 Chrome 原生功能截图网页全图 打开你想截图的网页了,然后按下 F12(macOS 是 option […]...

  5. 加密通信

    每个人都有自己私密的信息,如何进行私密的沟通是人类一直以来的需求。古装片里面,动不动就会有你我入密室详谈这样的 […]...

  6. 谷歌Cartographer学习(1)-快速安装测试(转载)

    转载自谷歌Cartographer学习(1)-快速安装测试 代码放到个人github上,https://git […]...

  7. C# 基础知识系列- 2 字符串

    String的常见方法 String 变量的声明方式 C#中字符串常见的声明有两种: 直接使用字面值 即Str […]...

  8. STM32—TIMx实现编码器四倍频

    文章目录 一.储备知识 二.TIMx的编码器模式介绍 1.计数边沿设置 2.选择极性和使能 3.使能 4.计数 […]...

展开目录

目录导航