SpringBoot操作XWPFTable(4)设置字体大小、加粗、对齐方式、边框线、背景颜色 您所在的位置:网站首页 设置表格边框颜色word SpringBoot操作XWPFTable(4)设置字体大小、加粗、对齐方式、边框线、背景颜色

SpringBoot操作XWPFTable(4)设置字体大小、加粗、对齐方式、边框线、背景颜色

2024-06-10 16:29| 来源: 网络整理| 查看: 265

原文链接:https://www.longkui.site/program/java/xwpftable4/5708/

0.前言 前面的文章介绍了单元格合并的操作,这篇文章简单介绍一下设置字体大小、加粗、对齐方式、边框线、背景颜色等。

初始代码:

void testXWPFTable1(){ System.out.println(“开始执行”); try { //定义word XWPFDocument doc = new XWPFDocument(); //在word中创建一个表格(2行,3列) XWPFTable table = doc.createTable(4,4); //第一行数据 table.getRow(0).getCell(0).setText(“1”); table.getRow(0).getCell(1).setText(“张三”); table.getRow(0).getCell(2).setText(“李四”); table.getRow(0).getCell(3).setText(“王五”); table.getRow(1).getCell(0).setText(“5”); table.getRow(1).getCell(1).setText(“6”); table.getRow(1).getCell(2).setText(“7”); table.getRow(1).getCell(3).setText(“8”); table.getRow(2).getCell(0).setText(“9”); table.getRow(2).getCell(1).setText(“10”); table.getRow(2).getCell(2).setText(“11”); table.getRow(2).getCell(3).setText(“12”); table.getRow(3).getCell(0).setText(“13”); table.getRow(3).getCell(1).setText(“14”); table.getRow(3).getCell(2).setText(“15”); table.getRow(3).getCell(3).setText(“16”); //导出 String path = “C:”; //文件路径 String name = “test1”; //文件名 path = path + “/” + name + “.docx”; File file = new File(path); if (!file.exists()) { file.createNewFile(); } FileOutputStream out = new FileOutputStream(file); doc.write(out); }catch (IOException e){ e.printStackTrace(); } } 1.设置字体、大小、是否加粗 我们一般用下面的代码来设置单元格内字体、字体大小、字体是否加粗。

run.setFontSize(20); //设置字体大小 14 run.setFontFamily(“宋体”); //设置字体为宋体 run.setBold(true); //设置加粗 第一种设置方式并不生效

//下面不生效 XWPFRun run = table.getRow(0).getCell(1).getParagraphs().get(0).createRun(); run.setFontSize(20); //设置字体大小 14 run.setFontFamily(“宋体”); //设置字体为宋体 run.setBold(true); //设置加粗 第二种设置方式生效:

//生效 XWPFRun run1 = table.getRow(0).getCell(2).getParagraphArray(0).getRuns().get(0); run1.setFontSize(11); //设置字体大小 14 run1.setFontFamily("楷体"); //设置字体为宋体 run1.setBold(true); //设置加粗 table.getRow(0).setHeight(300); //设置高度

效果:

可以看出,第二种形式生效了。

2.设置单元格大小 全局设置:

table.getCTTbl().getTblPr().getTblW().setW(new BigInteger("9000")); //测试不生效 table.getCTTbl().addNewTblPr().addNewTblW().setW(new BigInteger("9000")); //测试生效

效果:

单独设置某个单元格的宽度

table.getRow(1).getCell(0).getCTTc().getTcPr().addNewTcW().setW(BigInteger.valueOf(122)); //设置宽度 ,报错 table.getRow(1).getCell(1).getCTTc().addNewTcPr().addNewTcW().setW(BigInteger.valueOf(5000)); //设置宽度,生效

效果:

3.设置对齐方式 table.getRow(1).getCell(0).getParagraphArray(0).setAlignment(ParagraphAlignment.CENTER); //设置水平居中 table.getRow(1).getCell(1).getParagraphArray(0).setAlignment(ParagraphAlignment.LEFT); //设置左对齐 table.getRow(1).getCell(2).getParagraphArray(0).setAlignment(ParagraphAlignment.RIGHT); //设置右对齐 table.getRow(1).getCell(3).getParagraphArray(0).setVerticalAlignment(TextAlignment.CENTER); //设置垂直居中 效果:

4.设置边框线 设置全局

//全局设置 CTTblPr tblpro = table.getCTTbl().getTblPr(); CTTblBorders borders = tblpro.addNewTblBorders(); borders.addNewBottom().setVal(STBorder.SINGLE); borders.addNewLeft().setVal(STBorder.NIL); //设置左侧无边框 borders.addNewRight().setVal(STBorder.SINGLE); borders.addNewTop().setVal(STBorder.SINGLE); borders.addNewInsideH().setVal(STBorder.SINGLE); borders.addNewInsideV().setVal(STBorder.SINGLE); 效果:

单独设置某个单元格:

table.getRow(1).getCell(1).getCTTc().getTcPr().addNewTcBorders().addNewRight().setVal(STBorder.NIL);//设置无边框, 测试报错,无法通过 table.getRow(1).getCell(2).getCTTc().addNewTcPr().addNewTcBorders().addNewLeft().setVal(STBorder.NIL); //设置无边框,office测试不生效,wps测试生效 测试了两种方法,其中第一种直接报错,无法通过测试,奇怪的是第一种在另一个项目(Spring MVC)中正常显示,但是在这个新搭建的项目中直接报错。

第二种方法,测试后,发现在wps中生效,但是在office中不生效,效果如下:

5.设置背景颜色 table.getRow(1).getCell(1).getCTTc().addNewTcPr().addNewShd().setFill(“AAABBB”); 效果:

6.总结 实践了很多方法,发现在office中和wps中的效果不完全一致。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有