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

淄博网站建设团队搜索引擎优化百度百科

淄博网站建设团队,搜索引擎优化百度百科,八桂职教网登录入口,ih5 wordpressjava向Word模板中替换书签数据,插入图片,插入复选框,插入Word中表格的行数据,删除表格行数据 使用插件:spire.doc 创建工具类,上代码: import com.spire.doc.Document; import com.spire.doc.…
  • java向Word模板中替换书签数据,插入图片,插入复选框,插入Word中表格的行数据,删除表格行数据

  • 使用插件:spire.doc

  • 创建工具类,上代码:

    import com.spire.doc.Document;
    import com.spire.doc.Table;
    import com.spire.doc.TableCell;
    import com.spire.doc.TableRow;
    import com.spire.doc.documents.*;
    import com.spire.doc.fields.DocPicture;
    import com.spire.doc.fields.TextRange;
    import org.apache.commons.collections4.map.LinkedMap;
    import org.springframework.stereotype.Component;import java.util.Arrays;
    import java.util.HashMap;
    import java.util.List;
    import java.util.Map;/*** 向插入Word数据工具类* @author yyds*/
    @Component
    public class WordInsertDataUtil {/*** 根据书签向Word插入数据;  type=1插入文本,type=2插入图片, type=3插入复选框。。。。* @param bookmarks* @param bookMarkDatas*/public void insertDataByBookmarks(Document doc, BookmarksNavigator bookmarks, List<Map<String, String>> bookMarkDatas){for (int i = 0; bookMarkDatas.size() > 0 && i < bookMarkDatas.size(); i++) {Map<String, String> bookMarkData = bookMarkDatas.get(i);if ("1".equals(bookMarkData.get("type"))){bookmarks.moveToBookmark(bookMarkData.get("bookMark"));bookmarks.replaceBookmarkContent(bookMarkData.get("value"), true);} else if ("2".equals(bookMarkData.get("type"))){bookmarks.moveToBookmark(bookMarkData.get("bookMark"));Paragraph para = new Paragraph(doc);//图片位置DocPicture picture = para.appendPicture(bookMarkData.get("picPath"));//图片高picture.setHeight(Float.parseFloat(bookMarkData.get("heigth")));//图片宽picture.setWidth(Float.parseFloat(bookMarkData.get("width")));picture.setTextWrappingStyle(TextWrappingStyle.Through);bookmarks.insertParagraph(para);} else if ("3".equals(bookMarkData.get("type"))){bookmarks.moveToBookmark(bookMarkData.get("bookMark"));bookmarks.replaceBookmarkContent(bookMarkData.get("value"), true);TextSelection selection = doc.findString(bookMarkData.get("check"),true,true);TextRange tr1 = selection.getAsOneRange();tr1.getCharacterFormat().setFontName("Wingdings");//除了16进制,也可以用10进制来表示这个符号,复选框打勾是82doc.replace(selection.getSelectedText(), "\uF0FE", true, true);} else if("4".equals(bookMarkData.get("type"))){bookmarks.moveToBookmark(bookMarkData.get("bookMark"));bookmarks.replaceBookmarkContent(bookMarkData.get("value"), true);TextSelection selection = doc.findString(bookMarkData.get("uncheck"),true,true);TextRange tr1 = selection.getAsOneRange();tr1.getCharacterFormat().setFontName("Wingdings");//除了16进制,也可以用10进制来表示这个符号,复选框打勾是82doc.replace(selection.getSelectedText(), "\uF0A8", true, true);}}}/*** 向Word中的表格插入行* @param table* @param dataList* @param startRow*/public void insertTable(Table table, List<String[]> dataList, int startRow){for (int i = startRow; i < startRow + dataList.size(); i++) {TableRow row = table.getRows().get(i - 1).deepClone();table.getRows().insert(i, row);TableRow jtcyRow = table.getRows().get(i);for (int j = 0; j < dataList.get(i - startRow).length; j++) {TableCell cell = jtcyRow.getCells().get(j);cell.getChildObjects().clear();TextRange range = cell.addParagraph().appendText(dataList.get(i - startRow)[j]);range.getOwnerParagraph().getFormat().setHorizontalAlignment(HorizontalAlignment.Center);range.getCharacterFormat().setFontName("宋体");range.getCharacterFormat().setFontSize(11);jtcyRow.getRowFormat().setHorizontalAlignment(RowAlignment.Center);jtcyRow.getCells().get(j).getCellFormat().setVerticalAlignment(VerticalAlignment.Middle);}}}/*** 删除行* @param table 表格* @param startRow 起始行* @param removeNum 删除几行*/public void removeTableRows(Table table, int startRow, int removeNum){for (int i = 0; i < removeNum; i++) {TableRow jtcyRow = table.getRows().get(startRow - 1);table.getRows().remove(jtcyRow);}}public Map<String, String> generalCheckBox(LinkedMap<String, String> dictMap, String bookMark, String checkValue){//todo 多选未开发List<String> valueList = Arrays.asList(checkValue.split(","));StringBuilder sbd = new StringBuilder();int startNum = 1;String checkSymbol = "";for(Map.Entry<String, String> entry : dictMap.entrySet()){String symbol = "symbol" + startNum;sbd.append(symbol);if (valueList.contains(entry.getValue())){checkSymbol = symbol;}startNum++;}Map<String, String> bookMarkMap = new HashMap<>();bookMarkMap.put("bookMark", bookMark);bookMarkMap.put("value", sbd.toString());bookMarkMap.put("type", "3");bookMarkMap.put("check", checkSymbol);return bookMarkMap;}
    }
  • 使用方法(仅供参考,自行调试):

    • 根据书签插入数据

      //打开Word模板
      Document doc = new Document(new FileInputStream(templatePath));
      //获取所有书签
      BookmarksNavigator bookmarks = new BookmarksNavigator(doc);
      //业务数据
      List<Map<String, String>> bookMarkDatas = new ArrayList<>();
      //年-插入文本
      Map<String, String> nian = new HashMap<>();
      nian.put("bookMark", "NIAN");
      nian.put("value", bdcdjPermit2.getNian());
      nian.put("type", "1");
      bookMarkDatas.add(nian);
      //图片-插入图片
      String tpPath = objectMap.get("TP").toString();
      Map<String, String> tp = new HashMap<>();
      tp.put("bookMark", "TP");
      tp.put("picPath", tpPath);
      tp.put("heigth", "18");
      tp.put("width", "13");
      tp.put("type", "2");
      bookMarkDatas.add(tp);
      //向Word模板中插入数据
      wordInsertDataUtil.insertDataByBookmarks(doc, bookmarks, bookMarkDatas);
      
    • Word中插入表格

      //打开Word模板
      Document doc = new Document(new FileInputStream(templatePath));
      //获取所有书签
      BookmarksNavigator bookmarks = new BookmarksNavigator(doc);
      //获取第一个section
      Section section = doc.getSections().get(0);//获取表格
      Table table = section.getTables().get(0);
      //业务数据
      JSONObject result;
      //直接替换书签数据
      bookmarks.moveToBookmark("TEST");
      if (Utils.notEmpty(result.get("test"))) {bookmarks.replaceBookmarkContent(result.getString("test"), true);
      }
      //插入表格行的起始位置
      int startNum = 22;
      //插入的行数
      int insertNum = 0;
      //放表格数据列表
      List<String[]> tableDataList = new ArrayList<>();
      String[] insertData = {test, tset, etst, etts};
      tableDataList.add(insertData);
      insertNum++;
      //插入行数据
      wordInsertDataUtil.insertTable(table, dyDataList, startNum);
      //删除行数据
      wordInsertDataUtil.removeTableRows(table, startNum, 1);
      
http://www.dinnco.com/news/83939.html

相关文章:

  • 武汉设计网站公司百度注册网站
  • 蒙阴做网站百度网站优化公司
  • 施工企业管理费厦门网站seo哪家好
  • 自己做网站给自己淘宝引流快刷网站
  • 网站建设 山东关键词排名优化网站
  • 网站建设费用高如何在百度发视频推广
  • 网站开发一般用哪种语言网络营销首先要
  • 怎样搭建属于自己的网站uc浏览网页版进入
  • 深圳网站建设app开发国际最新新闻热点事件
  • 做网站的技术要求高吗谷歌广告代理商
  • 如何做适合手机访问的网站百度推广客户端下载安装
  • 网站的域名怎么起如何编写一个网站
  • 北京网站建设兴田德润电话多少请输入搜索关键词
  • 深圳h5网站建设南宁推广公司
  • 网站建设案例实录软文素材
  • 用dw做网站毕业设计小程序开发公司排行榜
  • 新闻发稿计划怎么写windows优化大师破解版
  • 有什么可以下载软件的网站网站怎么优化排名的方法
  • 软件开发公司排行灰色seo关键词排名
  • wordpress 星 评分免费的seo
  • 用织梦软件如何做网站谷歌三件套一键安装
  • 公司网站开发步骤排名优化课程
  • 珠海响应式网站建设太原seo排名收费
  • wordpress怎么上传pdf最新seo网站优化教程
  • 天津网站制作公司电话百度开放云平台
  • 2017国外优秀网站设计长沙网络公司排名
  • 做网站用什么浏览器建站软件
  • 网站权重是什么意思网络推广员一个月多少钱
  • 晋江做任务的网站长春百度推广公司
  • 建设网站公司专业服务短视频seo软件