ColdFusion - POI setCellStyle, не влияя на его существующий стиль?

У меня есть cellStyle, созданный для файла Excel, чтобы иметь чередование строк. Я также хочу установить для любых ячеек с числовыми значениями значение RIGHT ALIGN. Я могу выполнить это, проверив значение ячейки, и если числовое, я setCellStyle(styleRightAlign), где styleRightAlign — это имя моего выравнивания по правому краю cellStyle.

Однако это переопределяет существующий стиль, и моя ячейка больше не имеет правильного цвета фона. Он правильно выровнен, но как я могу просто «добавить» стиль ячейки, а не переопределить существующий?

Это возможно?

Я рассматривал возможность использования CellUtil setCellStyleProperty, но я не знаю, как создать его экземпляр в ColdFusion и нужен ли он мне для этого.

ОБНОВЛЕНИЕ

Таким образом, похоже, что в CF 11+ доступен CellUtil, а в CF 10 — нет. Цифры. Поэтому я создаю отдельный стиль с чередованием строк для alignRight, который включает цвет фона. Если у кого-нибудь есть идеи, как я могу просто выровнять ячейку, не затрагивая существующий на ней стиль ячейки, я бы хотел это услышать.


person Phil    schedule 15.06.2016    source источник
comment
К сожалению, если вы не хотите изменять существующий стиль, я думаю, вам просто нужно сделать это самостоятельно в CF10. Поскольку вы используете множество функций, требующих более поздней версии POI, рассмотрели ли вы запускает более новую версию параллельно? Вы должны быть в состоянии сделать это, используя копию JavaLoader.cfc, встроенную в CF10+.   -  person Leigh    schedule 15.06.2016
comment
Ой, неправильная ссылка. Здесь объясняется загрузка другой версии библиотеки Java с помощью Настройки Application.cfc:   -  person Leigh    schedule 15.06.2016
comment
@Leigh - на данный момент я скорее застрял на CF10 из-за того, что клиент не хочет меняться, если в этом нет крайней необходимости. Спасибо за всю вашу помощь, я смог заставить экспорт Excel работать так, как предполагалось, и я бы не смог без вашего ведома.   -  person Phil    schedule 15.06.2016
comment
Рад, что смог помочь. Понятно об обновлении, однако функция динамического загрузчика классов предназначена для того, чтобы вы могли загружать разные версии jar без необходимости обновления. Просто поместите более новые jar-файлы в папку, загрузите путь к этой папке в свой Application.cfc и все готово. Он хорошо работает в большинстве случаев. Конечно, загрузчики классов невероятно привередливы, поэтому время от времени вы сталкиваетесь с проблемой старого ада jar, но обычно с определенными библиотеками, такими как более старые версии dom4j.   -  person Leigh    schedule 15.06.2016
comment
@Leigh - круто, я не знал, что смогу это сделать. Я спрошу у своего клиента, не хотят ли они попробовать. Спасибо еще раз!!   -  person Phil    schedule 15.06.2016
comment
(Редактировать) Звучит хорошо. Предполагая, что на вашем компьютере установлена ​​версия CF Developer (или Express), вы также можете довольно быстро провести небольшой тест самостоятельно. Просто как ПОС. Это определенно позволит получить доступ к обеим версиям. Вопрос только в том, будет ли это проще.   -  person Leigh    schedule 15.06.2016