当前位置: 首页 > news >正文

做好网站买了空间域名深圳南山网站建设

做好网站买了空间域名,深圳南山网站建设,深圳制作公司网站,免费云服务器网站有哪些内容#xff1a;读取html文件中的文本内容#xff0c;然后生成Word文档导出。 事例场景#xff1a;需求开发完成之后需要写文档#xff08;代码修改清单#xff09;#xff0c;文档内容就是这次需求修改/新增的所有代码#xff0c;需要列出修改的文件路径以及代码片段读取html文件中的文本内容然后生成Word文档导出。 事例场景需求开发完成之后需要写文档代码修改清单文档内容就是这次需求修改/新增的所有代码需要列出修改的文件路径以及代码片段并且用不同的颜色标注区分。 例图 如果手动复制粘贴并且标注会相当麻烦。所以这里记录一下使用代码来简单处理生成所需文档。   第一步功能测试完成后把代码合并到新的分支然后进入页面就能查看到这次的合并记录。第二步保存这个页面到本地然后执行程序生成Word文档。   功能实现说明 项目SpringBoot html文件来源gitee。如果是gitLab的页面可能页面标签元素就不太一样需要修改一下代码中解析html读取标签的方式。 代码实现逻辑使用jsoup读取并解析html文件然后使用poi生成Word文档。 解析html需要先搞清楚html中的标签元素然后再用代码读取。 开始编码 Maven依赖 !-- poi 读取生成Word文档、Excel文档--dependencygroupIdorg.apache.poi/groupIdartifactIdpoi-ooxml/artifactIdversion3.15/version/dependency!-- 解析html --dependencygroupIdorg.jsoup/groupIdartifactIdjsoup/artifactIdversion1.8.3/version/dependency Java代码   package com.example.demo16.util;import lombok.extern.slf4j.Slf4j; import org.apache.poi.xwpf.usermodel.ParagraphAlignment; import org.apache.poi.xwpf.usermodel.XWPFDocument; import org.apache.poi.xwpf.usermodel.XWPFParagraph; import org.apache.poi.xwpf.usermodel.XWPFRun; import org.jsoup.Jsoup; import org.jsoup.nodes.Document; import org.jsoup.nodes.Element; import org.jsoup.select.Elements; import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTShd;import java.io.File; import java.io.FileOutputStream;Slf4j public class CodeChangeDetailUtil {public static void main(String[] args) throws Exception {String htmlPathE:/Downloads/code_01.html;String saveWordPathE:/Downloads/code_0112.docx;codeChangeDetailOutPutWorld(htmlPath, saveWordPath);}/*** 旧代码标识old* 新代码标识new*/private static final String CODE_TYPE_OLD old;private static final String CODE_TYPE_NEW new;/*** 解析HTML文件内容生成Word* param htmlPath HTML文件路径* param saveWordPath Word文档保存路径* throws Exception*/public static void codeChangeDetailOutPutWorld(String htmlPath, String saveWordPath) throws Exception {XWPFDocument doc new XWPFDocument();Document document Jsoup.parse(new File(htmlPath), utf8);Elements elements document.getElementsByClass(files);// 文件元素集合Elements diffFileElements elements.get(0).getElementsByClass(diff-file);createHeader(doc, 修改清单(数量 diffFileElements.size() ));for (Element element : diffFileElements) {String headerText element.getElementsByClass(header).get(0).getElementsByTag(a).get(0).text();createNullLine(doc, 1);createText(doc, headerText, );}createNullLine(doc, 2);createHeader(doc, 程序修改记录);for (Element element : diffFileElements) {// 文件头,文件路径String headerText element.getElementsByClass(header).get(0).getElementsByTag(a).get(0).text();//log.info(headerText:{},headerText);// 得到文件路径/名称createNullLine(doc, 2);createTextHeader(doc, headerText);// 文件内容元素,代码存放在表格的行中一行代码一行这里获取表格的所有行if (null findTableElements(element)) {log.error(该文件内容可能被折叠请在原页面搜索【差异被折叠点击展开】点击展开后再保存html文件文件{}, headerText);throw new Exception(该文件内容可能被折叠请在原页面搜索【差异被折叠点击展开】点击展开后再保存html文件);}Elements trElements findTableElements(element).get(0).getElementsByTag(tbody).get(0).getElementsByTag(tr);// 遍历所有的行得到文件内容for (Element tr : trElements) {String lineContent tr.getElementsByClass(line_content).get(0).text();// 旧代码if(tr.getElementsByClass(old).size()0){createText(doc, lineContent, CODE_TYPE_OLD);continue;}// 新代码if(tr.getElementsByClass(new).size()0){createText(doc, lineContent, CODE_TYPE_NEW);continue;}createText(doc, lineContent, );}}FileOutputStream fileOutputStream new FileOutputStream(saveWordPath);doc.write(fileOutputStream);fileOutputStream.close();log.info(文档生成成功,存储路径{}, saveWordPath);}/*** 创建标题* param doc* param headerText 标题文本*/private static void createHeader(XWPFDocument doc, String headerText) {// 创建标题XWPFParagraph paragraph doc.createParagraph();//标题等级1,2,3...paragraph.setStyle(1);//设置对齐paragraph.setAlignment(ParagraphAlignment.LEFT);XWPFRun run paragraph.createRun();run.setColor(000000);run.setText(headerText);run.setFontFamily(黑体);run.setFontSize(22);// 加粗run.setBold(true);}/*** 生成文件路径* param doc* param contentText 文本内容*/private static void createTextHeader(XWPFDocument doc, String contentText) {XWPFParagraph paragraph doc.createParagraph();// 左对齐paragraph.setAlignment(ParagraphAlignment.LEFT);XWPFRun contentRun paragraph.createRun();contentRun.setFontSize(11);// 前面创建空行createNullLine(doc, 2);contentRun.setText(contentText);// 加粗contentRun.setBold(true);}/*** 文件内容* param doc* param contentText 文本内容* param textType 代码内容标识*/private static void createText(XWPFDocument doc, String contentText, String textType) {XWPFParagraph paragraph doc.createParagraph();// 左对齐paragraph.setAlignment(ParagraphAlignment.LEFT);XWPFRun contentRun paragraph.createRun();contentRun.setFontFamily(Consolas);contentRun.setFontSize(9);contentRun.setText(contentText);// 突出显示CTShd ctShd contentRun.getCTR().addNewRPr().addNewShd();// old:旧代码new:新代码if (CODE_TYPE_OLD.equals(textType)) {ctShd.setFill(FFEFD5);} else if (CODE_TYPE_NEW.equals(textType)) {ctShd.setFill(CCFF99);}}/*** 创建空行* param doc* param lineNum 行数*/private static void createNullLine(XWPFDocument doc, int lineNum) {XWPFParagraph paragraph doc.createParagraph();XWPFRun contentRun paragraph.createRun();for (int i 0; i lineNum; i) {contentRun.setText(\n);}}/*** 查找表格元素* param element 元素对象* return*/private static Elements findTableElements(Element element) {Elements trElements_temp element.getElementsByClass(diff-content);for (Element element_t : trElements_temp) {int tableSize element_t.getElementsByTag(table).size();if (tableSize 0) {return element_t.getElementsByTag(table);}}return null;} }具体页面具体分析。主要就是利用jsoup读取html内容并处理jsoup的使用细节可以参考官方文档。
http://www.pierceye.com/news/158539/

相关文章:

  • 医疗器械注册证查询网站优化推广服务
  • 网站制作网页做简单的网站首页
  • 怎样做网站上的语种链接泰安网络犯罪案件
  • soap公司网站建设国家游戏网站
  • 网站可以用什么做安阳区号是什么
  • 网站建设实战李静如何建设网站的能力
  • 威海 网站开发做家具的网站有哪些
  • 宁波网站建设公司怎么报价网页打开速度慢的解决方法
  • 有趣的网站有哪些推荐关键词没有排名的网站怎么做
  • 昆山网站制作哪家强海淀区企业网络公司
  • 北京网站制建设公司永兴县网站建设服务商
  • 嘉兴做网站优化公司江阴网站优化公司
  • dz可以做旅游网站吗wordpress 4.1.1 漏洞
  • 谷歌网站地图生成福州便民网免费发布信息
  • 最新军事战争新闻超级优化大师
  • 好的网站建设公司排名网站建设 交易保障
  • 怎么查看网站外链效果代理注册公司有什么风险
  • 西安网站漏洞免费自动生成小程序
  • 怎么修改网站信息同ip网站做301
  • 松江品划网络做网站logo设计网页
  • 重庆博达建设集团股份有限公司网站徐州建设企业网站
  • 有没有专门做老年婚介的网站东营会计信息网官网
  • 鞍山怎么做平台软件汕头网站时优化
  • 邹城建网站深圳装修公司排行榜
  • 泊头网站优化WordPress如何添加cnzz
  • dz论坛网站创建页面wap网站建设方案 pdf
  • 网站建设项目报告总结报告seo关于网站搜索排名关键词的标准评定
  • 东莞电商网站建设wordpress注册验证邮箱
  • 网站建设名中国建设劳动学会是假网站吗
  • 一个优秀的个人网站百度极速版免费下载安装