наши приложения Java EE записывают большие (> 3000 строк,> 300 столбцов) файлы Excel с использованием Apache POI.Мы реализовали требование заказчика, чтобы многие (> 500) ячеек в записанном файле имели частичное форматирование текста, то есть текст в одной ячейке частично красный и жирный, а частично черный.
Apache POI не жалуется при записи файлов, и они могут быть открыты, НО Excel 97 отображает их неправильно: части ячеек имеют неправильный размер шрифта, и ячейки с несколькими цветами шрифта не могут быть изменены (изменениеразмер шрифта на них не работает).
Кроме того, Excel 2010 жалуется, что файл небезопасен (при загрузке с сервера), и Excel 97 и Excel 2010 часто аварийно завершают работу с экспортированными файлами.
Предыдущая версия приложения использовала JExcelApi и не писала многоформатные текстовые ячейки.Файлы, сгенерированные сервером с использованием предыдущей (JExcelApi) версии приложения, обычно отображаются в Office2010 без предупреждения безопасности.
Кто-нибудь сталкивался с этими проблемами и, если да, как я могу их исправить?
Кроме того, кто-нибудь выяснил, почему настройка автофильтров не отображается в Office 2010 в указанном, но показываетв Excel 97 правильно (поэтому иногда происходит сбой или работает, пока не выбран один автофильтр?).
Наконец, я попытался обойти экспорт в Excel более старой версии приложения и обнаружил, что Apache POI уменьшает размер файла на> 35%, в то же время нарушая содержимое файла - хотя изменения не применяются (просто прочитав файл в книгу HSSF и переписав его в ByteArrayOutputStream. Кто-нибудь придумал, как предотвратить POI для изменения записанного файла?
Спасибо,
Майкл