Оформление
Ошибка экспорта Excel - Справка FineReport | Разработка отчетов | Отчеты | Учебные пособия
Ошибка экспорта Excel
1. java.lang.NullPointerException
Описание проблемы:
После экспорта компонента приборной панели в Excel при открытии Excel появляется ошибка: errorCode:500, errorMsg: java.lang.NullPointerException, как показано на следующем рисунке:

При просмотре журнала FineBI %FineBI%/logs/fanruan.log соответствующая ошибка отображается следующим образом:
java.lang.NullPointerException at sun.awt.FontConfiguration.getVersion(FontConfiguration.java:1264) at sun.awt.
FontConfiguration.readFontConfigFile(FontConfiguration.java:219) at sun.awt.FontConfiguration.init(FontConfiguration.java:107)
at sun.awt.X11FontManager.createFontConfiguration(X11FontManager.java:774) at sun.font.SunFontManager$2.run(
SunFontManager.java:431) at java.security.AccessController.doPrivileged(Native Method) at sun.font.SunFontManager.<
;init>(SunFontManager.java:376) at sun.awt.FcFontManager.<init>(FcFontManager.java:35) at sun.awt.X11FontManager
.<init>(X11FontManager.java:57) at sun.reflect.GeneratedConstructorAccessor654.newInstance(Unknown Source) at
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.lang.reflect.
Constructor.newInstance(Constructor.java:423) at java.lang.Class.newInstance(Class.java:442) at sun.font.
FontManagerFactory$1.run(FontManagerFactory.java:83) at java.security.AccessController.doPrivileged(Native Method) at .
;sun.font.FontManagerFactory.getInstance(FontManagerFactory.java:74) at java.awt.Font.getFont2D(Font.java:491) at java.awt
.Font.canDisplayUpTo(Font.java:2060) at java.awt.font.TextLayout.singleFont(TextLayout.java:470) at java.awt.font.
TextLayout.<init>(TextLayout.java:531) at com.fr.third.v2.org.apache.poi.ss.util.SheetUtil.getDefaultCharWidth(SheetUtil SheetUtil.getDefaultCharWidth(SheetUtil.java:254)Анализ причин:
Эта ошибка вызвана тем, что в системе Linux отсутствуют соответствующие ресурсы шрифтов, поэтому необходимо установить менеджер шрифтов для вашей системы.
Решение:
Выполните следующую команду, чтобы установить управление шрифтами в Linux:
yum install fontconfigЕсли вы используете docker для создания базового образа, выполните следующую команду:
RUN yum -y install fontconfig RUN fc-cache --forc2. java.lang.IllegalArgumentException:Рабочая книга уже содержит лист с таким именем
Описание проблемы:
Экспортируйте Excel, откройте Excel и получите сообщение о следующей ошибке:

Анализ причин:
Именование листов Excel подчиняется следующим правилам:
1) имя листа не может быть больше 31 (включая английские, китайские иероглифы, |, () и т.д., но не может содержать:, /, ? *, [] и т.д.), использование poi инструментов для генерации программы, переданной в строку длиной более 31, будет автоматически перехвачено, это приведет к тому, что два имени станут одинаковыми, появление листа с именем исключение!
(2) Имя листа не может быть пустым, при пустом имени также будет выдано сообщение об ошибке.
Решение:
Измените имя компонента и соответствующую длину, чтобы привести его в соответствие с правилами именования excel.
3. Не удалось инициализировать класс sun.awt.X11GraphicsEnvironment
Описание проблемы:
Не удалось экспортировать Excel в среде Linux, проверьте журнал или нажмите F12, чтобы войти в консоль, есть ошибка: Could not initialize class sun.awt.
Анализ причин:
В Linux при экспорте Excel из приборной панели для обработки изображений используется пакет изображений Java. Для обработки изображений виртуальной машине Java необходима поддержка локального x-сервера, если ее нет, то возникнет эта ошибка.
Решение:
- Непосредственная установка FineBI
Найдите файл finebi.vmoption по пути %FineBI5.1%\bin, добавьте в него -Djava.awt.headless=trueи сохраните файл. Сохраните файл, как показано ниже:

- FineBI развернут на Tomcat
Перейдите в каталог %Tomcat%/bin, найдите и отредактируйте конфигурационный файл catalina.sh и добавьте параметр-Djava.awt.headless=true**,** подробнее см. в разделе: Экспорт настроек Excel.
4. com.finebi.common.exception.execute.FineOutOfMaxRowException: ограничение на количество строк: xxxxxxxx
Описание проблемы:
Экспортируйте Excel, откройте Excel и получите сообщение о следующей ошибке:

Анализ причин:
Объем экспортируемых данных Excel превышает предельный объем данных.
Решение:
Сократите объем экспортируемых данных с помощью фильтрации и т. д.
5. объем данных превышает лимит: Export Column Out Of Limit!
Описание проблемы:
При экспорте в Excel дашборд сообщает об ошибке, связанной с превышением лимита объема данных:более 100 столбцов не могут быть экспортированы, обратитесь к администратору, как показано на следующем рисунке:

Анализ причин:
Количество экспортируемых столбцов превышает 100.
Решение:
Добавьте параметр в таблицу fine_conf_entity в библиотеке конфигурации проекта finedb
- id: SystemOptimizationConfig.crossExportColumnLimit
- Значение: числовое значение, не рекомендуется сильно изменять значение.