• 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);
        }
    }

    创建表格效果图:

     

  • 相关阅读:
    上周热点回顾(11.1611.22)
    程序员求职招聘专题上线了
    上海地铁爱知书店博客园专柜
    上周热点回顾(11.911.15)
    求职与简历功能上线测试
    上周热点回顾(11.2311.29)
    软件工程:软件测试
    [文摘20100706]几种Web服务器比较 (Apache、IIS、Lighttpd、Nginx、LiteSpeed、Zeus)
    [转]CMMI的5个级别和25个过程域
    网上进销存几个参考网站
  • 原文地址:https://www.cnblogs.com/jazz-z/p/12746164.html
Copyright © 2020-2023  润新知