首页 > 其他分享 >poi 复制行格式

poi 复制行格式

时间:2023-11-30 11:22:32浏览次数:37  
标签:targetParagraph targetRun 复制 newCell sourceRun 格式 poi

 //oneTitle 是Excel里面设置好的格式,firstTitle 要复制 onTitle的格式
XWPFTableRow firstTitle = workTable.insertNewTableRow(initRow);
createCellsAndCopyStyles(firstTitle, oneTitle,true);


/** * 复制单元格和样式 * * @param targetRow 要复制的行 * @param sourceRow 被复制的行 * @param copyValue 是否复制值 true 复制, false 不复制 */ public static void createCellsAndCopyStyles(XWPFTableRow targetRow, XWPFTableRow sourceRow,boolean copyValue) { targetRow.getCtRow().setTrPr(sourceRow.getCtRow().getTrPr()); List<XWPFTableCell> tableCells = sourceRow.getTableCells(); if (CollectionUtil.isEmpty(tableCells)) { return; } for (XWPFTableCell sourceCell : tableCells) { XWPFTableCell newCell = targetRow.addNewTableCell(); if (copyValue){ newCell.setText(sourceCell.getText()); } newCell.getCTTc().setTcPr(sourceCell.getCTTc().getTcPr()); List sourceParagraphs = sourceCell.getParagraphs(); if (CollectionUtil.isEmpty(sourceParagraphs)) { continue; } XWPFParagraph sourceParagraph = (XWPFParagraph) sourceParagraphs.get(0); List targetParagraphs = newCell.getParagraphs(); XWPFParagraph targetParagraph = CollectionUtil.isEmpty(targetParagraphs) ? newCell.addParagraph() : (XWPFParagraph) targetParagraphs.get(0); targetParagraph.getCTP().setPPr(sourceParagraph.getCTP().getPPr()); XWPFRun targetRun = targetParagraph.getRuns().isEmpty() ? targetParagraph.createRun() : targetParagraph.getRuns().get(0); List<XWPFRun> sourceRunList=sourceParagraph.getRuns(); if (CollectionUtil.isNotEmpty(sourceRunList)) { XWPFRun sourceRun=sourceRunList.get(0); //字体名称 targetRun.setFontFamily(sourceRun.getFontFamily()); //字体大小 targetRun.setFontSize(sourceRun.getFontSize()); //字体颜色 targetRun.setColor(sourceRun.getColor()); //字体加粗 targetRun.setBold(sourceRun.isBold()); //字体倾斜 targetRun.setItalic(sourceRun.isItalic()); } } }

相关的依赖

        <!--生成word需要的依赖-->
        <dependency>
            <groupId>org.apache.poi</groupId>
            <artifactId>poi-ooxml</artifactId>
            <version>4.1.2</version>
        </dependency>
        <!--html富文本转word-->
        <dependency>
            <groupId>io.github.draco1023</groupId>
            <artifactId>poi-tl-ext</artifactId>
            <version>0.4.3</version>
        </dependency>

 

标签:targetParagraph,targetRun,复制,newCell,sourceRun,格式,poi
From: https://www.cnblogs.com/zhuguangzhe/p/17866893.html

相关文章

  • 【问题记录】【IDEA】启动突然报错 java: Internal error in the mapping processor:
    1 启动报错换了个高版本的IDEA,启动突然报错:2 解决办法添加编译配置参数:-Djps.track.ap.dependencies=false......
  • 零代码编程:用ChatGPT批量设置Word文件格式
    文件夹中有很多txt文本文件,要转换成word文件,且要批量设置一些文件格式,方便后续的打印。文本文件如下:在chatgpt中输入提示词:你是一个Python编程专家,要完成一个处理word内容的任务,具体步骤如下:打开文件夹:D:\lexfridman-podtext;将里面所有的txt文本文件转换为word文件;删除word文件中所......
  • Java系列---【时间格式合法性校验】
    #不能用LocalDate.parse(),解析不了20230231,默认会解析成20230228,并且不抛异常,用Strict模式,虽然会抛异常但无法解析20230201,推荐下面的publicstaticbooleanisValidDateFormat(Stringdate,Stringformat){if(date.length!=format.length){returnfalse;}......
  • 解决主机与虚拟机之间无法复制粘贴的问题办法
    1.卸载VMwareToolssudoapt-getautoremoveopen-vm-tools2.联网安装VMwaretoolssudoapt-getinstallopen-vm-tools-desktop3.记得要重启虚拟机!ps:重启后,使用ctrlc+v似乎还是不能复制粘贴,也不能通过拖动文件来复制,但是可以通过鼠标右键复制粘贴文本或者文件,也算解......
  • 【Python入门教程】Python的shutil库介绍+基础函数使用(文件/目录复制、移动、删除、解
    ​前言        很多时候编过的代码过段时间就忘了,所以想用博文记录一下一些平时常用库的函数,今天跟大家分享一下python的shutil库的常用函数,包括文件复制、删除、移动等常见操作。同时为了复习之前python类的使用,所以今天的代码就用类封装起来了,大家直接看函数就行,不需......
  • VS code中python代码格式化配置
    VScode中python代码格式化配置settings.jsonVScode打开命令面板(快捷键ctrlshiftP)搜settings.json发现里面有好几个设置:用户设置、工作区设置、文件夹设置、默认设置。其中默认设置一般不动,另外三个设置则是作用域一层层缩小:用户下所有文件=>工作区文件=>文件夹文件,可以......
  • 从一个txt文件中读取数据,并且再把读取到的数据修改为想要的格式,再逐行写入到另一个txt
    packageservice;importjava.io.BufferedWriter;importjava.io.File;importjava.io.FileWriter;importjava.io.IOException;importjava.nio.file.Files;importjava.nio.file.Paths;importjava.util.List;/***从一个txt文件中读取数据,并且再把读取到的数据修改为想要的格......
  • pandas如何将下图这个数据格式,改为%Y-%m-%d这种格式的?
    大家好,我是皮皮。一、前言前几天在Python白银交流群【小王子】问了一个Python日期处理的问题,一起来看看吧。原始数据库中的数据如下所示:二、实现过程这里【袁学东】给了一个方法,代码如下所示:df['日期']=pd.to_datetime(df['日期']).datetime.strftime(‘%Y%m-%d’)顺利地解决了问......
  • Golang Gin 获取Restful参数、URL查询参数,Form 表单参数,JSON格式参数
    前言http请求中,可以通过URL查询参数提交数据到服务器,可以通过post的json方式,还有一直方式就是Form表单。Form表单相比URL查询参数,用户体验好,可以承载更多的数据,尤其是文件上传时,特别方便。这里推荐飞雪无情的博客;写了一些列的gin的使用教程,很时候新手学习如果想对gin有一个完整......
  • 3.2.6 数据显示格式
    一、格式设置1.1功能入口点击菜单「插入>单元格元素」即可看到单元格的格式设置:1.2格式种类默认为常规:输出的数据格式与输入的数据格式相同。数字样式:格式:0.0->含义:占位格式符,不足补0->案例:实际数据为1,显示数据为1.0格式:0.#->含义:占位格式符,不足不补0->案例:实际......