浏览代码

check if customCellStyle is true when openWorkbook

sunyj 8 年之前
父节点
当前提交
76099d04ff
共有 1 个文件被更改,包括 13 次插入11 次删除
  1. 13 11
      src/main/java/com/uas/report/jasperreports/engine/export/CustomJRXlsxExporter.java

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

@@ -58,17 +58,19 @@ public class CustomJRXlsxExporter extends JRXlsxExporter {
     @Override
     @Override
     protected void openWorkbook(OutputStream os) throws JRException {
     protected void openWorkbook(OutputStream os) throws JRException {
         super.openWorkbook(os);
         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);
     }
     }
 }
 }