Browse Source

update: 导出功能代码调整

zhongwei
liwen 6 months ago
parent
commit
ecd2ed1a7c
  1. 48
      hzims-service/safeproduct/src/main/java/com/hnac/hzims/safeproduct/utils/BaseUtil.java

48
hzims-service/safeproduct/src/main/java/com/hnac/hzims/safeproduct/utils/BaseUtil.java

@ -119,14 +119,13 @@ public class BaseUtil {
XWPFDocument xwpfDocument = null; XWPFDocument xwpfDocument = null;
try { try {
xwpfDocument = WordExportUtil.exportWord07(templatePath, params); xwpfDocument = WordExportUtil.exportWord07(templatePath, params);
if (StringUtils.isNotEmpty(findName)) { if (findName != null && !findName.isEmpty()) {
String findText = params.get(findName).toString(); String findText = params.get(findName).toString();
if (StringUtils.isNotEmpty(findText)) { if (findText != null && !findText.isEmpty()) {
JSONArray jsonArray = new JSONArray(findText); JSONArray jsonArray = new JSONArray(findText);
for (XWPFTable table : xwpfDocument.getTables()) { for (XWPFTable table : xwpfDocument.getTables()) {
for (int row = 0; row < table.getNumberOfRows(); row++) { for (XWPFTableRow row : table.getRows()) {
for (int col = 0; col < table.getRow(row).getTableCells().size(); col++) { for (XWPFTableCell cell : row.getTableCells()) {
XWPFTableCell cell = table.getRow(row).getCell(col);
for (XWPFParagraph p : cell.getParagraphs()) { for (XWPFParagraph p : cell.getParagraphs()) {
for (int index = 0; index < p.getRuns().size(); index++) { for (int index = 0; index < p.getRuns().size(); index++) {
XWPFRun run = p.getRuns().get(index); XWPFRun run = p.getRuns().get(index);
@ -134,11 +133,31 @@ public class BaseUtil {
if (findText.equals(text)) { if (findText.equals(text)) {
run.setText("", 0); // 清除原有文本 run.setText("", 0); // 清除原有文本
XWPFParagraph paragraph = run.getParagraph(); 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++) { for (int i = 0; i < jsonArray.length(); i++) {
JSONObject jsonObject = jsonArray.getJSONObject(i); JSONObject jsonObject = jsonArray.getJSONObject(i);
String name = jsonObject.getString("name"); String name = jsonObject.getString("name");
String url = jsonObject.getString("url"); String url = jsonObject.getString("url");
// url编码格式化 // URL编码格式化
String encodeName = URLEncoder.encode(name, "UTF-8").replaceAll("\\+", "%20"); String encodeName = URLEncoder.encode(name, "UTF-8").replaceAll("\\+", "%20");
String prefixString = url.substring(0, url.lastIndexOf("/") + 1); String prefixString = url.substring(0, url.lastIndexOf("/") + 1);
String encodeUrl = prefixString + encodeName; 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文件类 * @param xwpfDocument word文件类

Loading…
Cancel
Save