Создание новых цветов в JExcelApi

Я использую JExcelApi для генерации файлов XLS. От jxl.format. Цвет, я вижу, как получить любой из цветов в "стандартной цветовой палитре Excel", но не, как создать новый цвет (скажите, учитывая его RGB).

Но в самом Excel, я могу выбрать любой цвет вообще.

Я просто пропускаю его? Существует ли путь в JExcelApi для выбора произвольного цвета? Я использую простой find-the-closest-standard-color метод прямо сейчас, который в порядке, но не замечателен.

8
задан skaffman 28 December 2009 в 09:21
поделиться

2 ответа

Версии Excel до 2007 года имеют стандартную палитру, и, учитывая, что используемый вами API не поддерживает формат 2007, вы можете застрять с этим. Причина, по которой вы можете выбрать любой цвет, вероятно, заключается в том, что вы используете новую версию Excel.

Смотрите эту информацию на сайте Microsoft.

Я не понимаю, как вы можете переопределить стандартную палитру цветов в используемом вами API, но в Apache POI (который также позволяет писать файлы Excel) вы можете: смотрите по этой ссылке. В основном, вам нужно присвоить ячейкам определённые стандартные цвета (зелёный и т.д.); затем переопределить эти цвета любым нужным вам цветом.

.
4
ответ дан 5 December 2019 в 06:53
поделиться

Способом переопределения индекса палитры в JExcel API является использование метода [setColourRGB][1] на рабочей книге, доступной для записи. Например:

myWorkbook.setColourRGB(Colour.LIGHT_TURQUOISE2, 14, 67, 89);

если вы хотите изменить значение цвета в записи палитры, где по умолчанию есть вторая светлая бирюза. Или, что проще в некоторых случаях, непосредственно с индексом палитры:

myWorkbook.setColourRGB(Colour.getInternalColour(myPaletteIdx), 14, 67, 89);

Небольшое обновление: только индексы от 8 до 64 могут быть настроены в соответствии с комментарием внутри исходного кода jxl.biff.PaletteRecord.

[1]: http://jexcelapi.sourceforge.net/resources/javadocs/current/docs/jxl/write/WritableWorkbook.html#setColourRGB(jxl.format.Colour, int, int, int)

.
16
ответ дан 5 December 2019 в 06:53
поделиться
Другие вопросы по тегам:

Похожие вопросы: