无锡鑫融建设网站温州专业网站制作设计

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

无锡鑫融建设网站,温州专业网站制作设计,简单的wordpress模板下载,建设文明网站包括java向Word模板中替换书签数据#xff0c;插入图片#xff0c;插入复选框#xff0c;插入Word中表格的行数据#xff0c;删除表格行数据 使用插件#xff1a;spire.doc 创建工具类#xff0c;上代码#xff1a; 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插入数据; type1插入文本type2插入图片, type3插入复选框。。。。* param bookmarks* param bookMarkDatas/public void insertDataByBookmarks(Document doc, BookmarksNavigator bookmarks, ListMapString, String bookMarkDatas){for (int i 0; bookMarkDatas.size() 0 i bookMarkDatas.size(); i) {MapString, 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, ListString[] 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 MapString, String generalCheckBox(LinkedMapString, String dictMap, String bookMark, String checkValue){//todo 多选未开发ListString valueList Arrays.asList(checkValue.split(,));StringBuilder sbd new StringBuilder();int startNum 1;String checkSymbol ;for(Map.EntryString, String entry : dictMap.entrySet()){String symbol symbol startNum;sbd.append(symbol);if (valueList.contains(entry.getValue())){checkSymbol symbol;}startNum;}MapString, 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); //业务数据 ListMapString, String bookMarkDatas new ArrayList(); //年-插入文本 MapString, 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(); MapString, 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; //放表格数据列表 ListString[] tableDataList new ArrayList(); String[] insertData {test, tset, etst, etts}; tableDataList.add(insertData); insertNum; //插入行数据 wordInsertDataUtil.insertTable(table, dyDataList, startNum); //删除行数据 wordInsertDataUtil.removeTableRows(table, startNum, 1);