Эх сурвалжийг харах

check if customCellStyle is true when openWorkbook

sunyj 8 жил өмнө
parent
commit
76099d04ff

+ 13 - 11
src/main/java/com/uas/report/jasperreports/engine/export/CustomJRXlsxExporter.java

@@ -58,17 +58,19 @@ public class CustomJRXlsxExporter extends JRXlsxExporter {
     @Override
     protected void openWorkbook(OutputStream os) throws JRException {
         super.openWorkbook(os);
-        FileBufferedWriter bordersWriter = (FileBufferedWriter) ObjectUtils.recursivelyGetValue("bordersWriter",
-                styleHelper);
-        XlsxBorderHelper borderHelper = new CustomXlsxBorderHelper(jasperReportsContext, bordersWriter);
-        // 通过反射替换 styleHelper 中的 borderHelper 为 CustomXlsxBorderHelper 类型
-        Field borderHelperField = ObjectUtils.recursivelyGetField("borderHelper", XlsxStyleHelper.class);
-        borderHelperField.setAccessible(true);
-        try {
-            borderHelperField.set(styleHelper, borderHelper);
-        } catch (Throwable e) {
-            throw new IllegalArgumentException("替换 borderHelper 失败", e);
+        if (customCellStyle) {
+            FileBufferedWriter bordersWriter = (FileBufferedWriter) ObjectUtils.recursivelyGetValue("bordersWriter",
+                    styleHelper);
+            XlsxBorderHelper borderHelper = new CustomXlsxBorderHelper(jasperReportsContext, bordersWriter);
+            // 通过反射替换 styleHelper 中的 borderHelper 为 CustomXlsxBorderHelper 类型
+            Field borderHelperField = ObjectUtils.recursivelyGetField("borderHelper", XlsxStyleHelper.class);
+            borderHelperField.setAccessible(true);
+            try {
+                borderHelperField.set(styleHelper, borderHelper);
+            } catch (Throwable e) {
+                throw new IllegalArgumentException("替换 borderHelper 失败", e);
+            }
+            borderHelperField.setAccessible(false);
         }
-        borderHelperField.setAccessible(false);
     }
 }