|
|
|
@ -119,14 +119,13 @@ public class BaseUtil {
|
|
|
|
|
XWPFDocument xwpfDocument = null; |
|
|
|
|
try { |
|
|
|
|
xwpfDocument = WordExportUtil.exportWord07(templatePath, params); |
|
|
|
|
if (StringUtils.isNotEmpty(findName)) { |
|
|
|
|
if (findName != null && !findName.isEmpty()) { |
|
|
|
|
String findText = params.get(findName).toString(); |
|
|
|
|
if (StringUtils.isNotEmpty(findText)) { |
|
|
|
|
if (findText != null && !findText.isEmpty()) { |
|
|
|
|
JSONArray jsonArray = new JSONArray(findText); |
|
|
|
|
for (XWPFTable table : xwpfDocument.getTables()) { |
|
|
|
|
for (int row = 0; row < table.getNumberOfRows(); row++) { |
|
|
|
|
for (int col = 0; col < table.getRow(row).getTableCells().size(); col++) { |
|
|
|
|
XWPFTableCell cell = table.getRow(row).getCell(col); |
|
|
|
|
for (XWPFTableRow row : table.getRows()) { |
|
|
|
|
for (XWPFTableCell cell : row.getTableCells()) { |
|
|
|
|
for (XWPFParagraph p : cell.getParagraphs()) { |
|
|
|
|
for (int index = 0; index < p.getRuns().size(); index++) { |
|
|
|
|
XWPFRun run = p.getRuns().get(index); |
|
|
|
@ -134,11 +133,31 @@ public class BaseUtil {
|
|
|
|
|
if (findText.equals(text)) { |
|
|
|
|
run.setText("", 0); // 清除原有文本
|
|
|
|
|
XWPFParagraph paragraph = run.getParagraph(); |
|
|
|
|
insertJsonArrayIntoParagraph(jsonArray, paragraph); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
if (templatePath.equals("template/卫生自查表.docx")) { |
|
|
|
|
formatHygieneRecordTable(xwpfDocument); |
|
|
|
|
} |
|
|
|
|
} catch (Exception e) { |
|
|
|
|
e.printStackTrace(); |
|
|
|
|
} |
|
|
|
|
return xwpfDocument; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private static void insertJsonArrayIntoParagraph(JSONArray jsonArray, XWPFParagraph paragraph) throws IOException { |
|
|
|
|
for (int i = 0; i < jsonArray.length(); i++) { |
|
|
|
|
JSONObject jsonObject = jsonArray.getJSONObject(i); |
|
|
|
|
String name = jsonObject.getString("name"); |
|
|
|
|
String url = jsonObject.getString("url"); |
|
|
|
|
// url编码格式化
|
|
|
|
|
// URL编码格式化
|
|
|
|
|
String encodeName = URLEncoder.encode(name, "UTF-8").replaceAll("\\+", "%20"); |
|
|
|
|
String prefixString = url.substring(0, url.lastIndexOf("/") + 1); |
|
|
|
|
String encodeUrl = prefixString + encodeName; |
|
|
|
@ -156,23 +175,6 @@ public class BaseUtil {
|
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
if (templatePath.equals("template/卫生自查表.docx")) { |
|
|
|
|
formatHygieneRecordTable(xwpfDocument); |
|
|
|
|
} |
|
|
|
|
} catch (Exception e) { |
|
|
|
|
log.error("数据写入异常: {}",e.getCause().toString()+ e.getStackTrace()); |
|
|
|
|
e.printStackTrace(); |
|
|
|
|
} |
|
|
|
|
return xwpfDocument; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* 卫生自查表格式处理 |
|
|
|
|
* @param xwpfDocument word文件类 |
|
|
|
|