|
|
@@ -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);
|
|
|
}
|
|
|
}
|