|
@@ -53,7 +53,7 @@ public class GrapeCityController {
|
|
|
|
|
|
|
|
for (int i = 0; i < workbook.getWorksheets().getCount(); i++) {
|
|
for (int i = 0; i < workbook.getWorksheets().getCount(); i++) {
|
|
|
IWorksheet worksheet = workbook.getWorksheets().get(i);
|
|
IWorksheet worksheet = workbook.getWorksheets().get(i);
|
|
|
- collectImagePaths(worksheet, imagePaths);
|
|
|
|
|
|
|
+ collectImagePaths(worksheet, imagePaths, data);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
return new JSONObject().fluentPut("paths", imagePaths);
|
|
return new JSONObject().fluentPut("paths", imagePaths);
|
|
@@ -117,8 +117,9 @@ public class GrapeCityController {
|
|
|
*
|
|
*
|
|
|
* @param worksheet 要遍历的工作表
|
|
* @param worksheet 要遍历的工作表
|
|
|
* @param imagePaths 用于存储找到的图片路径的集合
|
|
* @param imagePaths 用于存储找到的图片路径的集合
|
|
|
|
|
+ * @param data
|
|
|
*/
|
|
*/
|
|
|
- private void collectImagePaths(IWorksheet worksheet, Set<String> imagePaths) {
|
|
|
|
|
|
|
+ private void collectImagePaths(IWorksheet worksheet, Set<String> imagePaths, Map<String, Object> data) {
|
|
|
// 收集单元格中的背景图片路径
|
|
// 收集单元格中的背景图片路径
|
|
|
for (int x = 0; x < worksheet.getRowCount(); x++) {
|
|
for (int x = 0; x < worksheet.getRowCount(); x++) {
|
|
|
for (int y = 0; y < worksheet.getColumnCount(); y++) {
|
|
for (int y = 0; y < worksheet.getColumnCount(); y++) {
|
|
@@ -144,7 +145,7 @@ public class GrapeCityController {
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
// 收集浮动图片路径
|
|
// 收集浮动图片路径
|
|
|
- collectFloatingImages(worksheet, imagePaths);
|
|
|
|
|
|
|
+ collectFloatingImages(worksheet, imagePaths, data);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
@@ -154,9 +155,25 @@ public class GrapeCityController {
|
|
|
* @param worksheet 工作表
|
|
* @param worksheet 工作表
|
|
|
* @param imagePaths 图片路径集合
|
|
* @param imagePaths 图片路径集合
|
|
|
*/
|
|
*/
|
|
|
- private void collectFloatingImages(IWorksheet worksheet, Set<String> imagePaths) {
|
|
|
|
|
|
|
+ private void collectFloatingImages(IWorksheet worksheet, Set<String> imagePaths, Map<String, Object> data) {
|
|
|
// 这里可以添加收集浮动图片的逻辑,如果需要的话
|
|
// 这里可以添加收集浮动图片的逻辑,如果需要的话
|
|
|
// 目前 pdf 方法中有处理 Illustration 字段,但 filePath 可能不需要
|
|
// 目前 pdf 方法中有处理 Illustration 字段,但 filePath 可能不需要
|
|
|
|
|
+ if (data.get("Illustration") != null) {
|
|
|
|
|
+ String illustration = (String) data.get("Illustration");
|
|
|
|
|
+ if (illustration.startsWith("[") && illustration.endsWith("]")) {
|
|
|
|
|
+ JSONArray jsonArray = JSON.parseArray(illustration);
|
|
|
|
|
+ List<JSONObject> list = new ArrayList<>();
|
|
|
|
|
+ for (int k = 0; k < jsonArray.size(); k++) {
|
|
|
|
|
+ JSONObject jsonObject = jsonArray.getJSONObject(k);
|
|
|
|
|
+ if (jsonObject.getString("sheet").equals(worksheet.getName())) {
|
|
|
|
|
+ imagePaths.add(jsonObject.getString("url"));
|
|
|
|
|
+ } else {
|
|
|
|
|
+ list.add(jsonObject);
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ data.put("Illustration", JSON.toJSONString(list));
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
/**
|